Pengurangan biaya data untuk miliaran pengguna

Biaya pengeluaran untuk paket data di beberapa negara dapat mencapai 10% dari pendapatan bulanan pengguna secara umum. Ini berarti meminimalkan ukuran download aplikasi dan membolehkan pengguna mengontrol cara aplikasi menggunakan data dapat memberikan manfaat besar dan nyata bagi banyak pengguna. Meminimalkan ukuran download juga membantu menghemat ruang dalam penyimpanan internal, yang merupakan resource langka di perangkat tertentu.

Di sini, Anda dapat menemukan beberapa strategi untuk membantu mengoptimalkan jumlah data yang digunakan aplikasi Anda, baik melalui jaringan maupun dalam penyimpanan internal.

Mengurangi ukuran aplikasi

Mengurangi ukuran aplikasi adalah salah satu cara mendasar agar Anda dapat membantu pengguna menggunakan lebih sedikit data, baik dalam hal data jaringan maupun penyimpanan internal. Bagian ini menjelaskan beberapa pendekatan untuk mengurangi ukuran aplikasi.

Mengurangi ukuran aset visual APK

  • Aset visual sering kali menjadi kontributor terbesar terhadap ukuran APK. Mengoptimalkannya dapat memperkecil ukuran download dan mempersingkat waktu penginstalan bagi pengguna.
  • Untuk aset visual seperti ikon, gunakan format Scalable Vector Graphics (SVG). Gambar SVG berukuran sangat kecil dibandingkan dengan grafis bitmap dan dapat dirender pada saat runtime ke resolusi apa pun. Android Support Library menyediakan implementasi yang kompatibel dengan versi lama untuk resource vektor ke Android 2.1 (API level 7). Mulai dengan vektor menggunakan postingan Medium ini.
  • Untuk gambar non-vektor, seperti foto, gunakan WebP untuk mengurangi waktu pemuatan gambar dan menghemat bandwidth jaringan. WebP terbukti menghasilkan ukuran file yang lebih kecil daripada format PNG dan JPG-nya, setidaknya dengan kualitas gambar yang sama. Bahkan dengan setelan lossy, WebP dapat menghasilkan gambar yang hampir identik dengan aslinya. Android telah menyertakan dukungan WebP lossy sejak Android 4.0 (API level 14: Ice Cream Sandwich), dan dukungan WebP lossless transparan sejak Android 4.2 (API level 17: Jelly Bean).
  • Jika Anda memiliki banyak gambar besar dalam beberapa kepadatan, pertimbangkan untuk menggunakan dukungan Multi-APK untuk membagi APK menurut kepadatan. Hal ini menghasilkan build yang ditargetkan untuk kepadatan tertentu, yang berarti pengguna dengan perangkat kepadatan rendah tidak harus menanggung penalti saat mendownload aset kepadatan tinggi yang tidak digunakan.
  • Untuk informasi selengkapnya tentang cara mengurangi ukuran APK, lihat Mengurangi Ukuran APK dan Menyingkat Kode dan Resource. Selain itu, Anda dapat menemukan panduan mendetail tentang cara mengurangi ukuran APK di rangkaian postingan Medium ini.

Mengurangi ukuran kode

  • Setiap library di project Android Anda menambahkan kode yang berpotensi tidak digunakan ke APK. Berhati-hatilah dalam menggunakan library eksternal karena tidak semua library didesain untuk digunakan di aplikasi seluler. Pastikan library yang digunakan aplikasi Anda dioptimalkan untuk penggunaan seluler.
  • Pertimbangkan untuk mengoptimalkan kode yang dikompilasi menggunakan alat seperti ProGuard. ProGuard mengidentifikasi kode yang tidak digunakan dan menghapusnya dari APK. Aktifkan juga penyingkatan resource pada waktu build dengan menyetel minifyEnabled=true, shrinkResources=true dalam build.gradle—hal ini otomatis akan menghapus resource yang tidak digunakan dari APK Anda.
  • Saat menggunakan layanan Google Play, Anda harus secara selektif hanya menyertakan API yang diperlukan ke dalam APK Anda.
  • Untuk informasi selengkapnya terkait cara mengurangi ukuran kode dalam APK, lihat pelatihan Android tentang cara Menghindari framework injeksi dependensi.

Mengizinkan aplikasi dipindahkan ke penyimpanan eksternal (SD)

  • Perangkat berbiaya rendah sering kali hadir dengan sedikit ruang penyimpanan di perangkat. Pengguna dapat memperbesar ruang ini dengan kartu SD; namun, aplikasi harus secara jelas mendeklarasikan dukungannya terhadap penginstalan ke penyimpanan eksternal sebelum pengguna dapat memindahkannya.
  • Izinkan aplikasi Anda diinstal ke penyimpanan eksternal menggunakan flag android:installLocation dalam AndroidManifest.xml Anda. Untuk informasi selengkapnya terkait cara membuat aplikasi Anda dapat dipindahkan ke penyimpanan eksternal, lihat panduan Android tentang Lokasi Penginstalan Aplikasi.

Mengurangi penggunaan disk aplikasi pascapenginstalan

  • Menjaga penggunaan disk aplikasi tetap rendah berarti bahwa pengguna cenderung tidak meng-uninstal aplikasi Anda saat perangkat memiliki sedikit ruang kosong. Penting bagi Anda untuk menerapkan batasan pada cache. Hal ini juga untuk mencegah penggunaan disk aplikasi berkembang tanpa batas. Pastikan Anda menempatkan data yang di-cache di getCacheDir(). Sistem dapat menghapus file yang ditempatkan di sini jika diperlukan, sehingga file tersebut tidak akan muncul karena penyimpanan dikhususkan untuk aplikasi.

Menawarkan penggunaan jaringan yang dapat dikonfigurasi

Platform Android memiliki sejumlah cara agar Anda dapat memberi pengguna kontrol atas penggunaan jaringan aplikasi Anda, dengan mengoptimalkannya untuk kebutuhan sendiri. Misalnya, pada penggunaan pertama, aplikasi dapat memandu pengguna melalui berbagai setelan terkait jaringan. Anda juga dapat memberikan layar preferensi jaringan dari luar aplikasi.

Memberikan pengalaman orientasi untuk pilihan jaringan pengguna

  • Aplikasi yang memungkinkan pengguna mengurangi penggunaan data akan diterima dengan baik meskipun memiliki persyaratan data yang berat. Jika aplikasi Anda menggunakan bandwidth dalam jumlah yang cukup besar (misalnya, aplikasi streaming video), Anda dapat memberikan pengalaman orientasi bagi pengguna untuk mengonfigurasi penggunaan jaringan. Misalnya, Anda dapat mengizinkan pengguna untuk memaksakan streaming video dengan kecepatan bit lebih rendah pada jaringan seluler.
  • Setelan tambahan bagi pengguna untuk mengontrol sinkronisasi data, pengambilan data, dan perilaku penggunaan jaringan (misalnya, mengambil data semua kategori berita berbintang hanya jika menggunakan Wi-Fi) juga membantu pengguna menyesuaikan perilaku aplikasi Anda dengan kebutuhan mereka.
  • Untuk informasi selengkapnya terkait cara mengelola penggunaan jaringan, lihat pelatihan Android tentang Mengelola Penggunaan Jaringan.

Menyediakan layar preferensi jaringan

  • Anda dapat membuka setelan jaringan aplikasi dari luar aplikasi dengan menggunakan layar preferensi jaringan. Anda dapat menampilkan layar ini baik dari layar setelan sistem maupun layar penggunaan data sistem.
  • Untuk menyediakan layar preferensi jaringan yang dapat diakses pengguna dari dalam aplikasi Anda dan dari setelan sistem, sertakan aktivitas yang mendukung tindakan ACTION_MANAGE_NETWORK_USAGE dalam aplikasi Anda.
  • Untuk informasi selengkapnya terkait cara menambahkan layar preferensi jaringan, lihat pelatihan Android tentang Mengimplementasikan Aktivitas Preferensi.

Referensi tambahan

Untuk mempelajari topik ini lebih lanjut, lihat referensi tambahan berikut:

Postingan blog