cari

Rumah  >  Soal Jawab  >  teks badan

ios - 关于APP 内存偏高出现闪退问题的研究,求大神解答!!!

问题描述:app 出现内存偏高的问题,app 是一个展示图片居多的app,浏览多个图片list 页以后,内存最高峰值跑到了150m,然后app 出现了闪退;
问题:
① 怎么能够避免内存偏高的问题?
② 如果不能避免那么怎么降低内存偏高呢?
③ 如果上面两个问题都不能解决,那么出现内存偏高的时候怎么处理可以避免闪退呢?

伊谢尔伦伊谢尔伦2772 hari yang lalu712

membalas semua(7)saya akan balas

  • 阿神

    阿神2017-04-18 09:20:33

    1. Sila pastikan anda mencuba mod keluaran peranti sebenar untuk ujian

    2. Sila pastikan tiada kebocoran memori

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 09:20:33

    Seperti yang dinyatakan di atas, semak dahulu sama ada terdapat kebocoran memori.

    1. Apakah punca kemalangan? Jika anda tidak melihat log, anda tidak pasti bahawa ia disebabkan oleh memori yang tinggi.
    2. Jika anda menyemak imbas senarai imej, anda boleh menggunakan SDWebImage atau sebagainya untuk cache imej, menetapkan had atas memori yang digunakan oleh cache dan menggunakan semula jadual, yang tidak akan menggunakan banyak memori .

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:20:33

    Jika terlalu banyak gambar dipaparkan dan ingatan bertambah, semak dahulu sama ada gambar telah dikeluarkan. Dalam keadaan biasa, gambar tidak dikeluarkan tepat pada masanya.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:20:33

    Jika ingatan tiba-tiba menjadi tinggi selepas operasi tertentu dan kekal stabil atau terus meningkat, pada dasarnya ia boleh ditentukan sebagai kebocoran ingatan.
    Apabila menilai kebocoran memori, pertama, anda harus menentukan di mana dalam kod kebocoran memori berlaku
    Kedua, jika ia disebabkan oleh imej, ia mungkin kerana imej yang diminta oleh rangkaian tidak mempunyai tempatan; cache;
    Ketiga, perhatikan permintaan rangkaian, operasi pangkalan data dan keluaran kelas dan subkelas UIView.
    Akhir sekali, anda boleh nyahpepijat projek dalam XcodeProduct->Profile Selepas kompilasi selesai, panggil Instrumen dan gunakan Kebocoran untuk melihat kebocoran memori.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:20:33

    Pengoptimuman imej yang lebih biasa juga mungkin kerana imej dalam data asal terlalu besar, menyebabkan memori meningkat. Adalah disyorkan untuk menggunakan lakaran kecil dalam senarai.

    balas
    0
  • 迷茫

    迷茫2017-04-18 09:20:33

    Lakukan beberapa operasi pelepasan yang munasabah untuk membuka ruang apabila digunakan.

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 09:20:33

    Saya rasa gambar pada sel yang meluncur keluar dari skrin tidak dikeluarkan Secara umumnya, sel yang meluncur keluar dari skrin akan dikeluarkan-->Kandungan dalam sel dikeluarkan-->UIImageView. dikeluarkan--> Kemudian UIImage dikeluarkan dan menyemak sama ada terdapat pautan dalam rantaian keluaran yang belum dikeluarkan. Besar kemungkinan objek UIImage anda dirujuk di tempat lain, seperti disimpan dalam NSArray, seperti dalam NSCache. Pelepasan bermaksud menyimpan objek ini tanpa sebarang rujukan kukuh

    balas
    0
  • Batalbalas