Saya menggunakan alat ObjectAlloc Instument dalam upaya untuk memahami apa memori aplikasi saya (iPhone) lakukan dan kapan dan di mana itu melakukannya.
Saya sangat menginginkan penjelasan dasar dari statistik ini:
- Byte Langsung
- #Hidup
- #Sementara
- Byte Keseluruhan
Ketika saya mencoba mencari tahu berapa banyak memori yang digunakan aplikasi saya, apakah saya akan melihat Live Bytes atau Overall Bytes? Apakah ini termasuk memori bocor? Apa itu objek Transitory?
Terima kasih
Jawaban:
ObjectAlloc
melacak semua alokasi memori dan deallocation selama program Anda berjalan.Jumlah
Living bytes, or Net bytes
memori yang digunakan aplikasi Anda pada waktu yang Anda pilih di timeline. Itu akan termasuk memori bocor, karena memori bocor tidak pernah dibatalkan alokasinya.#Living
adalah berapa banyak alokasi dari ukuran / tipe objek tertentu yang terjadi (dan masih dialokasikan). Ini sangat berguna saat mencari kebocoran.Misalnya, jika Anda berulang kali melakukan tindakan (seperti keluar dari pengontrol tampilan modal), dan Anda melihat bahwa
#Living
suatu objek tumbuh dengan jumlah yang sama setiap kali, maka Anda mungkin membocorkan objek tersebut. Anda kemudian dapat mengonfirmasi dengan menelusuri dan melihat baris kode yang tepat yang mengalokasikan objek, dan bahkan melihat indeks waktu setiap objek dibuat.Overall bytes
termasuk memori yang telah dirilis. Ini berguna untuk melacak angka itu untuk tujuan pengoptimalan kinerja, tetapi tidak jika Anda hanya mencoba melihat jejak memori Anda saat ini atau mencari kebocoran.sumber
Penjelasan statistik dari apple docs. Tautkan ke dokumen
sumber