-
Title:
04-04 Memory_Leaks
-
Description:
-
Hal terbaik tentang
Android Java Language
-
adalah aplikasi itu bisa mengelola
lingkungan memori yaitu,
-
Anda tidak harus
hati-hati menanganinya
-
saat objek dibuat atau dihancurkan.
-
Walaupun ini sangat hebat,
-
ada beberapa masalah kinerja tersembunyi
di bawah permukaan.
-
Ingatlah,
timbunan memori di Android Runtimes
-
tersegmentasi ke dalam ruang,
berdasarkan jenis alokasi
-
cara terbaik agar sistem dapat
mengatur alokasi
-
kegiatan GC masa depan.
-
Tiap ruang punya ukuran
memori sendiri yang dilindungi.
-
Saat berbagai ukuran suatu objek
dalam ruang mulai mendekati batas atasnya
-
kegiatan pengumpulan sampah
dimulai untuk membebaskan ruang
-
dan menghapus objek yang tidak diperlukan.
-
GC pada umumnya tidak
menjadi masalah pada kinerja Anda.
-
Namun, sering terjadi berulang kali,
-
cepat menghabiskan
frametime mu.
-
Makin banyak waktu dihabiskan
untuk melakukan GC,
-
Makin sedikit Anda melakukan hal lain,
rendering atau streaming audio.
-
Hal umum penyebab pengembang
gagal dan menyebabkan banyak GS
-
disebut sebagai kebocoran memori.
-
Kebocoran memori adalah objek
yang aplikasi tidak lagi menggunakannya,
-
tapi pengumpul sampah gagal untuk
mengenali mereka sebagai sampah.
-
Hasilnya mereka tetap berada ditumpukan,
-
mengambil ruang berharga yang
tidak pernah dikosongkan untuk objek lain.
-
Saat kebocoran
memori terjadi,
-
ruang yang tersedia jadi
lebih kecil, kecil, dan lebih kecil,
-
sehingga lebih banyak GC
akan lebih sering dieksekusi
-
untuk membebaskan ruang
untuk eksekusi program yang normal.
-
Mencari dan memperbaiki kebocoran
adalah urusan yang rumit.
-
Beberapa kebocoran
mudah timbul,
-
seperti buat referensi melingkar ke objek
-
yang tidak digunakan program.
-
Sementara lainnya tidak sederhana,
-
seperti memegang pada gagang ke objek
kelas pemuat seperti yang sedang dimuat.
-
Dalam kedua kasus, kelancaran,
aplikasi cepat harus tanggap dan
-
memori sensitif,
kebocoran yang mungkin ada.
-
Maksudku, kode Anda berjalan
di federasi perangkat
-
dan berbagai jenis,
-
tidak semuanya punya
jejak memori yang sama dan ukuran.
-
Untungnya, ada alat sederhana
yang bisa membantu kita melihat
-
tempat kebocoran ini mungkin ada
di dalam SDK Android.
-
Mari kita lihat.