Cara mengoptimalkan pengembangan aplikasi

Hai Nama saya Andrey, saya seorang pengembang Android di Genesis Media dan saya membuat aplikasi untuk bisnis media kami di Afrika. Benua sangat mahal di Internet, dan perangkat seluler utamanya adalah smartphone Android beranggaran rendah, jadi saya melakukan yang terbaik untuk membuat produk kami lebih mudah.

Teks ini berisi praktik terbaik untuk mengoptimalkan aplikasi untuk pasar berkembang yang kami gunakan. Pertimbangkan ini panduan untuk pengembang pemula.

Perusahaan tertarik untuk membawa produk mereka ke khalayak baru. Misalnya, di India, hanya sepertiga populasi yang terhubung ke Internet, dan di Nigeria, separuhnya. Potensi seperti itu menghilang! Oleh karena itu, pengembang perusahaan besar berfokus pada pengoptimalan aplikasi untuk pasar negara berkembang.



Masalah utama:

  • perangkat dengan jumlah RAM yang kecil
  • perangkat dengan layar kecil atau resolusi rendah
  • internet mahal
  • koneksi internet tidak stabil
  • versi lama sistem operasi


Keputusan penting


Minimalkan ukuran aplikasi


Di pasar dengan internet mahal dan perangkat berdaya rendah, pertarungannya benar-benar melebihi megabita. Apakah aplikasi Anda diunduh atau tidak tergantung pada ukurannya. Pengembang Opera sangat bangga bahwa aplikasi mereka hanya membutuhkan 8 MB. Agar bangga dengan produk kami, kami menemukan tujuh solusi.

  • Minimalkan jumlah perpustakaan. Pada awalnya, kami menghapus perpustakaan tambahan, dan kemudian memutuskan untuk meninggalkan perpustakaan pihak ketiga secara umum. Mereka menyederhanakan pekerjaan pengembang, tetapi demi beberapa fungsi yang nyaman, menghubungkan seluruh perpustakaan tidak masuk akal. Oleh karena itu, kami secara mandiri menggambarkan logika untuk kebutuhan setiap proyek. Tentu saja, ini membutuhkan lebih banyak waktu, lebih banyak kode, tetapi secara signifikan mengurangi ukuran aplikasi.
  • Jangan biarkan perpustakaan dengan fungsionalitas serupa dalam dependensi. Ketika penggunaan perpustakaan tidak bisa dihindari - pembuatan iklan, misalnya - lihat perpustakaan apa yang ada di dalamnya. Mungkin Anda harus meninggalkan kekasih Anda demi yang sudah ada pada orang lain.
  • Gunakan gambar terang. Sumber daya dari modul aplikasi - gambar dan lebih banyak - sering mengambil ruang paling banyak. Kurangi mereka. Ini lebih mudah daripada mencari tahu di mana menyusut dari sekarang.

Untuk melakukan ini, kami mulai menggunakan gambar vektor - mereka terdiri dari bentuk geometris sederhana, itulah sebabnya mereka dangkal dimengerti dan mengambil sedikit ruang. Alih-alih paket standar lima gambar untuk format tampilan yang berbeda, Anda menambahkan satu vektor. Itu mengubah ukuran tanpa kehilangan kualitas. Dari minus - gambar harus sederhana. Anda dapat menggambar gambar yang rumit dalam vektor, tetapi ini bukan pilihan terbaik, karena masih akan banyak menimbang dan memuat untuk waktu yang lama.

Jika gambarnya kompleks, kami menggunakan WebP. Ini adalah format kompresi Google yang memungkinkan Anda untuk mengurangi berat gambar hingga hampir 10 kali lipat.

Kapten Dewan: Bekerja bersama-sama dengan seorang desainer. Awalnya, buat produk yang sederhana sehingga tidak harus disesuaikan, secara teknis canggih.

  • Mengaburkan kodenya. Saya menggunakan utilitas Proguard, tetapi ada opsi lain. Selain mengonversi kode ke status tidak terbaca, kode ini mengidentifikasi dan menghapus sumber daya yang tidak digunakan, sehingga mengoptimalkannya.
  • Gunakan sumber daya platform. Sebagai contoh, Android memiliki objek menarik kelas dalam, yang memungkinkan Anda untuk menggambar gambar sederhana di dalam sistem tanpa menambahkan apa pun ke sumber daya. Atur logika untuk membuat elemen dan itu akan ditarik secara mandiri pada saat memuat antarmuka grafis.
  • Gunakan kembali sumber daya. Misalnya, duplikat gambar dalam warna berbeda dapat disimpan bukan sebagai dua salinan, tetapi sebagai satu ditambah filter warna. Dalam mencari opsi pengoptimalan semacam itu, Anda akan menghabiskan waktu, tetapi itu layak untuk mempertahankan volume aplikasi minimum.
  • Gunakan Bundel Aplikasi , jenis perakitan aplikasi, ketika elemen untuk setiap pengguna dikumpulkan secara individual bukan oleh pengembang, tetapi di PlayMarket. Ini mengoptimalkan ukuran karena platform tahu jenis perangkat pengguna dan mengemas satu opsi gambar yang sesuai. PlayMarket mengklaim bahwa itu membantu mengurangi ukuran aplikasi hingga 30%. Cocok untuk mereka yang tidak ingin repot dengan opsi sebelumnya.
  • Optimalkan kecepatan tampilan antarmuka - ini relevan untuk pengguna dengan perangkat keras yang lemah. Seringkali antarmuka pengguna dikenakan dalam file xml - ini nyaman dan cepat dibandingkan dengan tata letak dalam kode. Ini tidak selalu memiliki efek yang baik pada waktu rendering UI, terutama pada perangkat yang lemah. Anda dapat mempercepat proses ini sedikit jika Anda mengatur tata letak dalam kode. Ini akan menghemat waktu pada proses konversi tata letak xml ke kode. Atau Anda dapat menggunakan kelas AsyncLayoutInflater untuk menjadikan proses ini asinkron. Mungkin kecepatan render keseluruhan tidak akan meningkat, tetapi setidaknya itu akan membuat antarmuka pengguna lebih responsif (kurang tertinggal, lambat).


Optimalisasi penggunaan lalu lintas


Kurangnya internet bukan kesalahan, tetapi keadaan aplikasi. Dan Anda harus bisa bekerja dengannya dengan benar. Pengguna harus memiliki akses ke informasi - biarkan dia melihat, membaca, menunjukkan semua yang ada. Jangan kirim kembali.

  • Caching data. Menyimpan lalu lintas di Afrika sangat penting - ini sangat berharga untuk emas. Oleh karena itu, segera setelah pengguna membuka umpan berita, semua informasi harus di-cache. Ketika Internet hilang atau seseorang pergi, masuk ke aplikasi, konten tidak akan dimuat lagi.
  • ETag. Memuat ulang data adalah kebiasaan pengguna yang tidak disadari yang tidak Anda perhatikan dengan Internet berbiaya rendah, tetapi mahal di pasar negara berkembang. Logika ETag menganalisis data hash dan pembaruan hanya mengubah informasi, atau mengirim permintaan "konten tidak berubah", dengan berat tidak lebih dari 1 Kb. Dianjurkan untuk menambahkannya ke logika kueri, yang dapat mengembalikan banyak data.
  • Nonaktifkan gambar. Jadi pengguna membaca berita, tetapi tidak menghabiskan lalu lintas untuk mengunduh gambar. Akan, ia dapat "menyalakannya" dengan satu ketukan, tetapi mereka tidak akan secara otomatis ditarik ke atas.


Total


Ini adalah cara utama untuk membantu pengguna menghemat lalu lintas dan ruang perangkat. Cobalah untuk tidak menambahkan layanan yang berjalan di latar belakang ke aplikasi, tetapi ini hanya setelah bantuan optimasi pertama untuk semua poin sebelumnya. Itu saja. Saya berharap materi itu bermanfaat bagi Anda.

Source: https://habr.com/ru/post/id481378/


All Articles