Hai gaes, kembali lagi bersama saya. Oke, kali ini saya akan berbagi kasus error lagi, mana kala saya sedang membuat fitur upload gambar, sebenarnya belum sampai pada upload masih tahap pick gambar dari galeri, nah proses ini bakal melibatkan yang namanya BitmapFactory.

Oke, secara prinsip sebenarnya yang saya lakukan saat itu sudah benar, dan berjalan lancar di project Android lain. Namun, seiring berjalannya waktu pustaka-pustaka dan Android studio terus melakukan pembaharuan dan saya pun mengijinkannya sebab notifikasi itu terlalu mengganggu pandangan saya wkkwkw. Maksud saya, itu mungkin yang menyebabkan toleransi error diperketat.
Singkat cerita, error line number mengarah pada kode saya berikut ini.
//KODE KASUS
Bitmap bm = BitmapFactory.decodeFile(strPath);
imageView.setImageBitmap(bm);
Nah, ada 2 metode memperbaikinya, pertama menggunakan recycle(), jadi object penampung bitmap kita recycle. Caranya buat kondisi saat bitmap not null, maka execute recycler, ini akan membebaskan memori Anda di setiap iterasi. Letakkan kode ini di bawah KODE KASUS.
if(bm!=null){
bm.recycle();
bm=null;
}
Cara lain adalah menerapkan options.inSampleSize. Lakukan ini sebelum KODE KASUS.
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap bm = BitmapFactory.decodeFile(strPath,options);
imageView.setImageBitmap(bm);
Gunakan cara ini manakala Anda ingin menghemat memori dan meringankan beban dekoder, selain itu bisa memuat bitmap lebih cepat dan efisien.