Penurunan biaya data untuk miliaran

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

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

Kurangi ukuran aplikasi

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

Kurangi ukuran aset grafik APK

  • Aset grafis sering menjadi penyumbang terbesar terhadap ukuran APK. Mengoptimalkannya bisa memperkecil ukuran download dan mempersingkat waktu menginstalan bagi pengguna.
  • Untuk aset grafis seperti ikon, gunakan format Scalable Vector Graphics (SVG). Gambar SVG berukuran sangat kecil dibandingkan dengan grafik bitmap dan dapat ditampilkan pada saat runtime ke resolusi apa pun. Android Support Library menyediakan implementasi yang kompatibel dengan resource vektor untuk Android 2.1 (API level 7). Mulai vektor dengan postingan Medium ini.
  • Untuk gambar non-vektor, seperti foto, gunakan WebP untuk mengurangi waktu muat gambar dan menghemat bandwidth jaringan. WebP terbukti menghasilkan ukuran file yang lebih kecil daripada PNG dan JPG, dengan setidaknya kualitas gambar yang sama. Bahkan pada setelan lossy, WebP dapat menghasilkan gambar yang hampir identik dengan aslinya. Android sudah menyertakan dukungan WebP lossy sejak Android 4.0 (API level 14: Ice Cream Sandwich) dan dukungan untuk WebP transparan dan lossless 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 Anda 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 mengurangi ukuran APK, silakan lihat Mengurangi Ukuran APK dan Menyusutkan Kode dan Referensi. Selain itu, Anda bisa menemukan panduan lengkap tentang 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 dirancang untuk digunakan di aplikasi seluler. Pastikan bahwa library yang digunakan aplikasi Anda dioptimalkan untuk penggunaan seluler.
  • Pertimbangkan untuk mengoptimalkan kode yang sudah dikompilasi menggunakan fitur seperti ProGuard. ProGuard mengidentifikasi kode yang tidak digunakan dan menghapusnya dari APK Anda. Juga mengaktifkan penyusutan resource pada waktu build dengan menyetel minifyEnabled=true, shrinkResources=true dalam build.gradle—ini secara otomatis membuang resource yang tidak terpakai dari APK Anda.
  • Ketika menggunakan layanan Google Play, Anda sebaiknya secara selektif hanya menyertakan API yang diperlukan ke dalam APK Anda.
  • Untuk informasi selengkapnya tentang cara mengurangi ukuran kode dalam APK Anda, lihat pelatihan Android tentang cara Menghindari framework injeksi dependensi.

Mengizinkan aplikasi untuk dipindahkan ke penyimpanan eksternal (SD)

  • Perangkat berharga murah kerap datang dengan sedikit ruang penyimpanan pada perangkat. Pengguna bisa memperbesarnya dengan kartu SD; namun, aplikasi harus menyatakan dengan jelas bahwa mereka mendukung penginstalan ke penyimpanan eksternal sebelum pengguna bisa memindahkannya.
  • Izinkan aplikasi Anda diinstal ke penyimpanan eksternal menggunakan flag android:installLocation dalam AndroidManifest.xml. Untuk informasi selengkapnya agar aplikasi Anda bisa dipindahkan ke penyimpanan eksternal, lihat panduan Android pada Lokasi Penginstalan Aplikasi.

Mengurangi penggunaan disk aplikasi pasca penginstalan

  • Menjaga agar penggunaan disk aplikasi Anda tetap rendah berarti pengguna cenderung untuk melakukan uninstal aplikasi Anda saat perangkat kekurangan ruang kosong. Penting untuk menerapkan batasan pada cache Anda—ini mencegah penggunaan disk aplikasi Anda tumbuh tanpa batas. Pastikan Anda menempatkan data cache di getCacheDir()—sistem bisa menghapus file yang ditempatkan di sini jika diperlukan, sehingga file tidak akan muncul karena storage dikhususkan untuk aplikasi.

Menawarkan penggunaan jaringan yang dapat dikonfigurasi

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

Memberikan pengalaman onboarding untuk pilihan jaringan pengguna

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

Menyediakan layar preferensi jaringan

  • Anda bisa membuka tampilan setelan jaringan aplikasi dari luar aplikasi dengan menggunakan layar preferensi jaringan. Anda bisa mengaktifkan layar ini dari layar setelan sistem atau layar penggunaan data sistem.
  • Untuk menyediakan layar preferensi jaringan yang bisa diakses pengguna dari dalam aplikasi serta dari setelan sistem, sertakan aktivitas yang mendukung aksi ACTION_MANAGE_NETWORK_USAGE dalam aplikasi Anda.
  • Untuk informasi selengkapnya tentang menambahkan layar preferensi jaringan, lihat pelatihan Android pada Mengimplementasikan Aktivitas Preferensi.