Turo mengurangi waktu pengaktifan aplikasinya sebesar 77% menggunakan alat Pengembang Android dan praktik terbaik
Turo adalah pasar berbagi mobil terbesar di dunia tempat tamu dapat memesan mobil apa pun yang mereka inginkan, dan di mana pun mereka menginginkannya, dari komunitas tuan rumah tepercaya yang dinamis.
Pengembang di Turo baru-baru ini banyak berinvestasi dalam meningkatkan kinerja startup aplikasi Android mereka. Waktu pengaktifan adalah kesan pertama yang dimiliki pengguna terhadap aplikasi, dan waktu muat yang lebih lambat dapat berdampak negatif pada retensi dan keterlibatan pengguna. Tim ingin memberi pengguna pengalaman yang lebih cepat dan lebih efisien setiap kali mereka meluncurkan aplikasi. Dan dengan menggunakan alat, sumber daya, dan praktik terbaik Android, mereka dapat memangkas waktu pengaktifan aplikasi hingga 77%.
Mengatur panggung dengan pustaka App Startup
Inisialisasi aplikasi mencakup seluruh proses permulaan aplikasi dan semua kode yang dijalankannya sebelum merender bingkai UI pertamanya. Untuk Turo, ini berarti pengguna harus menunggu aplikasi untuk menjalankan startup awal, permintaan jaringan sinkron, dan animasi splash kustom — semuanya sebelum mereka ditampilkan di layar beranda aplikasi.
Pengembang Turo mengetahui bahwa untuk meningkatkan waktu pemuatan aplikasi, mereka perlu memadatkan dan menghapus banyak peristiwa startup yang tidak praktis ini. Untuk membantu mengurangi peristiwa ini, para insinyur Turo menggunakan pustaka App Startup Android .
Pustaka App Startup memberi pengembang Turo cara sederhana dan efisien untuk menginisialisasi banyak komponen selama peluncuran aplikasi. Itu juga memungkinkan mereka untuk memilih komponen mana yang akan diinisialisasi dan dalam urutan apa, memungkinkan mereka untuk secara signifikan meningkatkan waktu muat. Memiliki perpustakaan App Startup di tempat menetapkan fondasi untuk pengoptimalan startup Turo lainnya.
Menunda permintaan jaringan dan memotong layar splash
Sebelum pengoptimalan, aplikasi menjalankan beberapa permintaan jaringan secara berurutan, lalu menampilkan animasi splash khusus satu detik sebelum pengguna dapat mengakses layar beranda aplikasi. Ini mengakibatkan proses startup yang lambat, terutama jika pengguna memiliki konektivitas jaringan yang buruk.
Menghapus animasi splash adalah cara mudah bagi pengembang Turo untuk meningkatkan waktu pemuatan yang dirasakan. Dan dengan membuat permintaan jaringan paralel dan asinkron, pengguna dapat mengakses layar beranda lebih cepat. “Awalnya, kami menggunakan SplashActivity khusus untuk menjalankan semua pekerjaan startup sebelum merutekan aplikasi ke HomeActivity. Namun, pedoman terbaru menyarankan agar pendekatan ini tidak dilakukan. Oleh karena itu, kami menghilangkan SplashActivity yang berlebihan dan mentransfer semua logika startup ke aktivitas root kami dengan memanfaatkan Splash Screen API,” kata Pavlo Stavytskyi, staf insinyur perangkat lunak senior di Turo.
Pada saat yang sama, aplikasi juga menjalankan sejumlah permintaan jaringan startup lainnya untuk menyesuaikan pengalaman bagi masing-masing pengguna, sehingga menghasilkan pengalaman pengguna yang tidak konsisten. “Jika aplikasi digunakan oleh tamu, beberapa permintaan jaringan membantu memutuskan layar mana yang harus digunakan. ditampilkan setelah layar splash,” kata Pavlo. “Secara default, ini adalah layar utama. Namun, ada kasus khusus di mana pengguna dapat dialihkan langsung ke reservasi kendaraan aktif atau ke layar umpan balik.”
Tim tidak ingin memperlambat setiap peluncuran aplikasi dengan memeriksa skenario khusus ini. Sebagai gantinya, Turo sekarang selalu membuka layar beranda secara default sambil membuat permintaan jaringan secara asinkron. Jika pengalihan diperlukan, layar yang sesuai ditampilkan di atas layar beranda.
Menerapkan Profil Dasar
Tim Turo juga menerapkan Profil Dasar untuk meningkatkan kinerja aplikasi. Profil dasar membantu melakukan pra-kompilasi jalur kode startup sebelumnya, meningkatkan waktu startup aplikasi Turo sebesar 15% lagi menurut pengujian Macrobenchmark. “Setelah kami menghapus semua permintaan jaringan sinkron, durasi startup kami menjadi lebih deterministik, dan lebih masuk akal untuk menerapkan Profil Baseline,” kata Pavlo.
Peningkatan kinerja dapat menghasilkan peningkatan retensi pengguna, peningkatan transaksi, dan peringkat yang lebih baik. Profil Dasar adalah cara yang cepat dan andal untuk menggerakkan jarum dalam jumlah besar.
Memprioritaskan kinerja startup
Ada banyak faktor yang dapat memengaruhi waktu startup aplikasi. Terserah pengembang untuk mengidentifikasi di mana, kapan, dan bagaimana mereka dapat meningkatkan aplikasi mereka untuk memastikannya dioptimalkan untuk pengalaman pengguna terbaik.
“Penting untuk memulai perbaikan dengan tugas-tugas yang membutuhkan sedikit usaha dan menghasilkan hasil terbaik,” kata Pavlo. “Dalam banyak kasus, perekayasaan menghadapi konflik antara mengalokasikan waktu dan sumber daya baik untuk pekerjaan produk atau pengoptimalan kinerja. Namun, memperlakukan kinerja sebagai fitur produk yang berdiri sendiri tidak dapat dihindari untuk keberhasilannya.”
Optimalkan aplikasi Anda hari ini
Tingkatkan waktu mulai aplikasi Anda dengan praktik terbaik Android untuk pengoptimalan aplikasi , Memulai Aplikasi Android , dan Profil Dasar .
Anda juga dapat membaca kisah selengkapnya tentang bagaimana Turo meningkatkan efisiensi pengaktifan aplikasinya menggunakan alat pengembang dan praktik terbaik Android.