Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi Internet mudah alih, pembangunan merentas platform telah menjadi topik hangat dalam industri. Antaranya, uniapp, sebagai rangka kerja pembangunan merentas platform, digemari oleh pembangun. Walau bagaimanapun, apabila menggunakan uniapp untuk membangunkan aplikasi, sesetengah pembangun akan menghadapi masalah: titik hitam muncul selepas melompat ke halaman. Masalah ini telah membawa beberapa masalah kepada pembangun Artikel ini akan membincangkan punca dan penyelesaian kepada masalah ini dari aspek berikut:
1 Sebab mengapa titik hitam muncul
Untuk masalah ini, penjelasan rasmi yang diberikan oleh uniapp ialah: Pada sesetengah model, apabila halaman melompat, skrin hitam berkelip disebabkan oleh penukaran proses utama dan sub-proses akan dikesan oleh sistem pengendalian peranti mudah alih dan dipaparkan sebagai titik hitam. borang untuk mengingatkan pengguna. Oleh itu, keadaan ini disebabkan oleh ciri-ciri sistem pengendalian peranti mudah alih dan tiada kaitan dengan rangka kerja pembangunan uniapp itu sendiri.
2. Penyelesaian
Atas sebab di atas, kami boleh menggunakan penyelesaian yang berbeza mengikut situasi yang berbeza:
Apabila melompat ke halaman, mendayakan animasi peralihan halaman boleh mengurangkan kelipan skrin hitam yang disebabkan oleh penukaran halaman, sekali gus mengurangkan penampilan titik hitam. Untuk rangka kerja uniapp, pegawai tersebut menyediakan pelbagai animasi peralihan untuk dipilih, yang boleh ditetapkan mengikut keperluan anda sendiri. Semasa menulis kod, anda boleh menggunakan kaedah berikut untuk mendayakan animasi peralihan halaman:
<template> <view> <button @click="navigateToPage">跳转页面</button> </view> </template> <script> export default { methods: { navigateToPage() { uni.navigateTo({ url: '/pages/secondPage/secondPage', animationType: 'pop-in', animationDuration: 200 }) } } } </script>
Dalam kod di atas, kami menggunakan fungsi navigateTo
yang disediakan oleh uniapp untuk melompat ke halaman dan menetapkan animationType
dan animationDuration
dua parameter. Antaranya, parameter animationType
menentukan jenis animasi peralihan halaman dan parameter animationDuration
menentukan tempoh animasi.
Dalam pembangunan uniapp, tekanan pemaparan halaman yang berlebihan juga merupakan salah satu sebab kemunculan titik hitam. Oleh itu, semasa menulis kod, cuba kurangkan tekanan pemaparan halaman dan elakkan skrin hitam berkelip apabila menukar halaman. Secara khusus, kami boleh mengoptimumkan daripada aspek berikut:
(1) Elakkan memuatkan dan memaparkan sejumlah besar imej. Dalam pembangunan, sumber imej selalunya merupakan salah satu sumber tekanan pemaparan halaman. Oleh itu, anda boleh menggunakan pemuatan malas imej, pemampatan imej, dsb. untuk mengurangkan tekanan pemaparan.
(2) Penggunaan kesan animasi yang munasabah. Walaupun kesan animasi sangat membantu dalam meningkatkan pengalaman pengguna, kesan animasi yang berlebihan dan terlalu kompleks juga boleh menyebabkan tekanan yang berlebihan pada pemaparan halaman.
(3) Penggunaan komponen yang munasabah. Penggunaan komponen merupakan bahagian penting dalam pembangunan uniapp, tetapi komponen yang terlalu banyak dan terlalu kompleks boleh menyebabkan tekanan pemaparan halaman yang berlebihan. Oleh itu, cuba kurangkan penggunaan komponen dan elakkan rendering yang tidak perlu.
Dalam sesetengah kes, komponen asli berprestasi lebih baik daripada komponen uniapp. Oleh itu, kami boleh cuba menggunakan komponen asli untuk mengurangkan tekanan pemaparan halaman. Apabila menggunakan komponen asli, anda boleh menggunakan $refs
yang disediakan oleh uniapp untuk memanipulasi elemen DOM. Secara khusus, kami boleh menggunakan kod berikut untuk mencipta komponen asli:
<template> <view> <button @click="navigateToPage">跳转页面</button> <my-native-component ref="myNativeComponent"></my-native-component> </view> </template> <script> export default { mounted() { // 获取原生组件 const myNativeComponent = this.$refs.myNativeComponent.$el // 操作原生组件 myNativeComponent.doSomething() } } </script>
Dalam kod di atas, kami menggunakan <my-native-component>
untuk mencipta komponen asli, dan kemudian menggunakan $refs
untuk memanipulasi elemen DOM. Kaedah ini membolehkan kami menggunakan komponen asli secara langsung tanpa menciptanya melalui komponen uniapp.
Ringkasan
Untuk menyelesaikan masalah titik hitam yang muncul selepas uniapp melompat ke halaman, kami boleh menggunakan penyelesaian berikut:
Ringkasnya, untuk masalah ini, kami boleh mengelakkan penampilan titik hitam dan meningkatkan pengalaman pengguna melalui satu siri langkah pengoptimuman.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah titik hitam muncul selepas lompatan uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!