Pengurusan memori iOS


Pengurusan Memori IOS


Pengenalan

Idea asas pengurusan memori di bawah iOS ialah pengiraan rujukan Kitaran hayat objek ingatan dikawal melalui pengiraan rujukan objek. Khusus untuk masa pengaturcaraan, terdapat dua kaedah utama:

1: MRR (pelepasan-pengekalan manual), pengiraan rujukan manual, penjanaan objek, pemusnahan dan perubahan kiraan rujukan semuanya diselesaikan oleh pembangun.

2: ARC (Pengiraan Rujukan Automatik), pengiraan rujukan automatik, hanya bertanggungjawab untuk penjanaan objek Pembangun proses lain tidak perlu lagi mengambil berat tentang kemusnahannya. Kaedah penggunaannya adalah serupa dengan pengumpulan sampah masih mengira rujukan.

Masalah yang dihadapi

Menurut dokumentasi Apple, dua masalah utama yang dihadapi ialah:

Data yang dikeluarkan atau ditimpa masih digunakan. Ini akan menyebabkan kerosakan memori, biasanya merosakkan aplikasi, atau lebih teruk, merosakkan data pengguna.

Tidak mengeluarkan data yang tidak digunakan lagi boleh menyebabkan kebocoran memori. Memori yang diperuntukkan dalam kebocoran memori tidak dibebaskan, walaupun ia tidak pernah digunakan lagi. Kebocoran boleh membawa kepada peningkatan penggunaan memori oleh aplikasi, yang seterusnya boleh menyebabkan prestasi sistem yang lemah atau terhenti.

Peraturan Pengurusan Memori

Kami mencipta objek kami sendiri dan melepaskannya apabila ia tidak diperlukan lagi.

Simpan objek yang perlu anda gunakan. Objek ini mesti dilepaskan jika tidak perlu lagi.

Jangan lepaskan objek yang bukan milik kita.

Gunakan alatan pengurusan memori

Anda boleh menganalisis penggunaan memori dengan bantuan instrumen alat Xcode. Ia termasuk alatan seperti Monitor Aktiviti, Peruntukan, Kebocoran, Zombi, dll.

Langkah untuk menganalisis peruntukan memori

1. Buka aplikasi sedia ada.

2. Pilih produk, profil adalah seperti yang ditunjukkan di bawah

mm_Profile

3.

mm_ProfileSelect

4 Kita boleh melihat penggunaan memori objek berbeza

5 Anda boleh menukar pengawal paparan untuk melihat sama ada memori dilepaskan.

mm_Instruments_Allocations

6 Kita juga boleh menggunakan Activity Monitor untuk melihat peruntukan memori dalam aplikasi.

mm_Instruments_ActivityMonitor

7 Alat ini boleh membantu kita memahami penggunaan memori dan tempat kebocoran mungkin berlaku.