Ada beberapa alasan mengapa memuat bitmap di aplikasi Android rumit:
- Bitmap dapat dengan mudah menghabiskan anggaran memori aplikasi. Misalnya,
kamera di ponsel Pixel mengambil
foto hingga 4048x3036 piksel (12 megapiksel).
Jika konfigurasi bitmap yang digunakan adalah
ARGB_8888
, default untuk Android 2.3 (API level 9) dan versi lebih tinggi, memuat satu foto ke memori menghabiskan sekitar 48 MB memori (4048*3036*4 byte). Permintaan memori sebesar itu dapat langsung menghabiskan semua memori yang tersedia untuk aplikasi. - Memuat bitmap di UI thread dapat menurunkan performa aplikasi, menyebabkan respons lambat atau bahkan pesan ANR. Oleh karena itu, penting untuk mengelola threading secara tepat saat bekerja dengan bitmap.
- Jika aplikasi memuat beberapa bitmap ke memori, Anda perlu mengelola memori dan caching disk secara terampil. Jika tidak, respons dan kelancaran UI aplikasi dapat menurun.
Untuk sebagian besar kasus, kami merekomendasikan Anda menggunakan library Glide untuk mengambil, mendekode, dan menampilkan bitmap dalam aplikasi. Glide menyederhanakan sebagian besar kompleksitas dalam menangani tugas ini dan tugas lain yang terkait dengan penggunaan bitmap dan gambar lain di Android. Untuk informasi cara menggunakan dan mendownload Glide, buka repositori Glide di GitHub.
Anda juga dapat memilih untuk bekerja secara langsung dengan API level lebih rendah bawaan framework Android. Untuk mengetahui informasi selengkapnya tentang caranya, baca Memuat Bitmap Besar Dengan Efisien, Menyimpan Cache Bitmap, dan Mengelola Memori Bitmap.