Berbagi teknologi

Berapa banyak memori yang melebihi aplikasi iOS sebelum menerima peringatan memori sistem?

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Berapa banyak memori yang melebihi aplikasi iOS sebelum menerima peringatan memori sistem?

Pada aplikasi iOS, pemicuan peringatan memori sistem ditentukan secara dinamis oleh sistem operasi iOS dan bukan merupakan ambang batas yang tetap. Sistem menentukan apakah akan mengeluarkan peringatan memori berdasarkan memori yang tersedia pada perangkat saat ini, kebutuhan memori aplikasi lain yang berjalan, dan penggunaan memori aplikasi saat ini.

Pemicu peringatan memori

  1. Konfigurasi memori perangkat: Perangkat yang berbeda memiliki jumlah memori yang berbeda, misalnya, perangkat lama mungkin hanya memiliki memori 1 GB, sedangkan perangkat yang lebih baru mungkin memiliki 4 GB atau lebih.
  2. Tekanan memori sistem: Jika sistem Anda berada di bawah tekanan memori yang tinggi, peringatan memori mungkin dikeluarkan lebih sering.
  3. Penggunaan memori aplikasi: Jika suatu aplikasi memakan banyak memori, kemungkinan besar sistem akan mengeluarkan peringatan memori sehingga aplikasi dapat mengosongkan memori yang tidak diperlukan.

Tingkat peringatan memori

iOS menyediakan tiga tingkat peringatan memori, pengembang bisa UIApplicationDelegate diwujudkan melaluiapplicationDidReceiveMemoryWarning Metode untuk menangani peringatan memori.

func applicationDidReceiveMemoryWarning(_ application: UIApplication) {
    // 释放不必要的资源
}

Pengontrol tampilan juga dapat diganti oleh didReceiveMemoryWarning Metode untuk menangani peringatan memori.

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // 释放不必要的资源
    imageCache.removeAllObjects()
}

Nilai pemicu peringatan memori tertentu

Meskipun iOS tidak mengungkapkan nilai pemicu peringatan memori spesifik, nilai ini dapat diperkirakan dengan mengamati penggunaan memori pada perangkat yang berbeda:

  • Perangkat kelas bawah (seperti iPhone 6 dan 6s): Biasanya ketika penggunaan memori mendekati 500MB, peringatan memori mungkin terpicu.
  • Perangkat kelas menengah (seperti iPhone 7 dan 8): Peringatan memori mungkin dipicu ketika penggunaan memori mendekati 1GB.
  • Perangkat kelas atas (seperti iPhone X dan yang lebih baru): Peringatan memori mungkin dipicu ketika penggunaan memori melebihi 1,5 GB.

Bagaimana menangani peringatan memori

  1. Lepaskan sumber daya yang tidak diperlukan: Saat menerima peringatan memori, lepaskan memori yang tidak diperlukan lagi, seperti gambar yang di-cache, data sementara, dll.
  2. Pemuatan tertunda dan pemuatan lambat: Menunda dan memperlambat pemuatan sumber daya sebanyak mungkin untuk mengurangi penggunaan memori awal.
  3. Optimalkan struktur data dan algoritma: Pilih struktur data dan algoritme pengoptimalan yang sesuai untuk mengurangi penggunaan memori.
  4. Menggunakan alat Instrumen: Gunakan alat Instrumen secara teratur untuk mendeteksi dan menganalisis penggunaan memori guna mengidentifikasi dan mengatasi kebocoran memori dan penggunaan memori yang berlebihan.

Dengan menangani peringatan memori dengan benar dan mengoptimalkan penggunaan memori, kinerja dan stabilitas aplikasi dapat ditingkatkan secara signifikan, serta crash dan macet yang disebabkan oleh kekurangan memori dapat dikurangi.


Berapa banyak memori yang masuk akal untuk aplikasi iOS?

Penggunaan memori yang wajar pada aplikasi iOS bergantung pada banyak faktor, termasuk konfigurasi perangkat keras perangkat, kompleksitas fungsional aplikasi, dan lingkungan yang berjalan.

1. Konfigurasi perangkat keras peralatan

  • perangkat kelas bawah : Perangkat dengan memori lebih sedikit (1GB atau kurang) sensitif terhadap penggunaan memori. Perhatian khusus perlu diberikan pada optimalisasi memori.
  • perangkat kelas menengah: Untuk perangkat dengan memori sedang (2GB hingga 3GB), aplikasi dapat meningkatkan penggunaan memori secara wajar, namun tetap perlu dikontrol dalam kisaran yang wajar.
  • Peralatan kelas atas: Untuk perangkat dengan memori lebih besar (4GB ke atas), aplikasi dapat menggunakan lebih banyak memori, namun penggunaan memori yang berlebihan masih dapat mempengaruhi kinerja sistem.

2. Jenis dan fungsi aplikasi

  • Aplikasi sederhana: Misalnya aplikasi alat, pembaca berita, dll, biasanya berusaha menjaga penggunaan memori di bawah 100MB.
  • Aplikasi dengan kompleksitas sedang: Seperti aplikasi media sosial, game ringan, dll, penggunaan memori harus dikontrol antara 200MB dan 500MB.
  • Aplikasi yang kompleks: Seperti game berskala besar, aplikasi intensif grafis, dll., penggunaan memori mungkin mencapai 500MB atau lebih tinggi, tetapi Anda harus berusaha menghindari melebihi 1GB.

3. Pemantauan penggunaan memori

Gunakan alat Instrumen Xcode untuk memantau penggunaan memori aplikasi Anda, termasuk templat Alokasi dan Kebocoran. Pastikan penggunaan memori aplikasi stabil dalam penggunaan normal dan tidak ada kebocoran memori yang jelas.

4. Gunakan metrik penggunaan memori yang sesuai

4.1 Memori Penduduk

Memori tetap adalah memori fisik yang sebenarnya ditempati oleh aplikasi, yang dapat dipantau melalui template Alokasi Instrumen.

4.2 Memori Virtual

Memori virtual adalah total memori yang dapat diakses aplikasi, termasuk area pertukaran memori. Penggunaan memori virtual biasanya lebih tinggi daripada memori tetap.

ringkasan

Jejak memori yang sesuai bergantung pada jenis aplikasi spesifik, kompleksitas fungsional, dan perangkat target. Secara umum, Anda harus berusaha menjaga penggunaan memori dalam kisaran yang wajar dan menghindari melebihi batas memori yang tersedia pada perangkat. Melalui praktik pengoptimalan memori, menggunakan struktur data yang sesuai, mengoptimalkan pemrosesan gambar dan kinerja kode, Anda dapat secara efektif mengurangi penggunaan memori serta meningkatkan kinerja dan stabilitas aplikasi. Gunakan alat Instrumen secara teratur untuk memantau dan menganalisis penggunaan memori untuk memastikan bahwa penggunaan memori aplikasi wajar dalam berbagai skenario.