Katakanlah saya telah memuat gambar dalam objek bitmap seperti
Bitmap myBitmap = BitmapFactory.decodeFile(myFile);
Sekarang, apa yang akan terjadi jika saya memuat bitmap lain seperti
myBitmap = BitmapFactory.decodeFile(myFile2);
Apa yang terjadi pada myBitmap pertama? Apakah itu mengumpulkan Sampah atau saya harus mengumpulkan sampah secara manual sebelum memuat bitmap lain, mis. myBitmap.recycle()
?
Selain itu, adakah cara yang lebih baik untuk memuat gambar besar dan menampilkannya satu per satu saat mendaur ulang dalam perjalanan?
Setelah bitmap dimuat di memori, sebenarnya bitmap dibuat oleh dua bagian data. Bagian pertama berisi informasi tentang bitmap, bagian lain berisi informasi tentang piksel bitmap (dibuat oleh byte array). Bagian pertama ada di Java used memory, bagian kedua ada di C ++ used memory. Itu dapat menggunakan memori satu sama lain secara langsung. Bitmap.recycle () digunakan untuk membebaskan memori C ++. Jika Anda hanya melakukan itu, GC akan mengumpulkan bagian dari java dan memori C selalu digunakan.
sumber
Timmmm benar.
menurut: http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html
Selain itu, sebelum Android 3.0 (API Level 11), data dukungan dari bitmap disimpan dalam memori asli yang tidak dirilis dengan cara yang dapat diprediksi, berpotensi menyebabkan aplikasi untuk sesaat melebihi batas memorinya dan mogok.
sumber