Karma bir modda kapsamlı bir iOS uygulamasına sahibiz - bir UIWebView, JS uygulamasında web uygulamasının büyük bölümünü elinde tutuyor. IOS6'da iyi çalışıyor ancak son zamanlarda tüm iOS7 cihazlarında bellek kazasında ciddi bir sorun yaşadık - iPad, iPhone 4/4S ve iPhone 5/5C/5S. IOS simülatöründe hem iOS6 hem de 7'de bellek tüketiminin analizini yaptık. Uygulamada aynı etkileşimi yaparak, iOS7'de 800MB'u aşabilirken WebView'ün bellek tüketimi her zaman iOS6'da 200MB'den azdır!
WebView'de iOS7'de ciddi bir bellek yönetimi sorunu olduğunu tahmin ediyoruz. Ancak JS'yi WebView içinde profillemek için kullanılan aracın eksikliği, kök nedenini bulamıyoruz. Burada, benzer sorunların olup olmadığını sormak isteriz ve herhangi bir araç/yaklaşım, UIWebView'ın tam olarak sorunu çözmek için daha fazla bilgi edinmesine yardımcı olabilir. Teşekkürler.iOS7 UIWebView Bellek sızıntısı
cevap
Hem UIWebView hem de iOS7 ile yerel safari tarayıcısı, json nesnesini ele alırken bellek yönetiminde sorun yaşar gibi görünüyor. Derin bir iç içe yapıya sahip bir sözlüğünüz varsa ve sayısal bir dize olan anahtardan birine sahipseniz ve 99999'dan küçükse, sık sık bellek uyarıları almış olabilirsiniz.
{"**98304**":
{"key":
{"2ndLevelKey":
{
"address":"10928 Homestead rd","city":"Cupertino","Zip":95014
}
}
}
}
eser etrafında basittir
şey gibi, anahtar "ID98304" gibi "" değiştirebilsennasıl deneyin. Sorunu zaten çözdüğünüzü umuyorum. :)
ile ilişkili gibi görünüyor. Bu sorun giderildiğinde? – wawanopoulos
bug 15476175, 14 Kasım tarihinde Apple'a gönderilmiş, şu ana kadar durum güncellemesi yok. –
Tavsiye veya yorum yazmak için yeterli bir itibarım yok. Bu yüzden bir "cevap" ın katkıda bulunabileceğim tek yol olduğunu düşünüyorum.
Ming Zhu'nun katkısına katılıyorum. 5 basamaklı anahtarınız varsa (9999 < anahtar numarası < = 99999), iOS 7'de bellek kullanımı patlar.
Uygulamamı kilitleyen şeyi çoğaltmaya çalışırken geldiğim örnek kod aşağıdadır.
tempobj = {};
for(var i=1; i<2000; i++){
var temp = {};
tempobj[i] = temp;
temp[98304] = "hello world";
}
Ben de bu stackoverflow bulmadan elma bir hata bildiriminde, ama bu zaten iyi bir şeydir benziyor etmedi.
- 1. Bellek sızıntısı
- 2. Gömülü IronPython Bellek Sızıntısı
- 3. Bellek Sızıntısı KeychainItemWrapper
- 4. bellek sızıntısı - sinyal 9
- 5. Varlık Çerçevesi Bellek Sızıntısı
- 6. Java String.split bellek sızıntısı?
- 7. JDK1.7 ClassLoader Bellek Sızıntısı
- 8. KnockoutJS Bellek Sızıntısı
- 9. Java'da bellek sızıntısı ImageIO.read()
- 10. Bellek sızıntısı socket.io + node.js
- 11. Yönetilmeyen Bellek sızıntısı
- 12. JNI NewByteArray bellek sızıntısı
- 13. CMSampleBufferDaha fazla bellek sızıntısı
- 14. nodejs setTimeout bellek sızıntısı?
- 15. MapKit'teki Bellek Sızıntısı iOS8
- 16. Bellek sızıntısı var mı?
- 17. SharePoint bellek sızıntısı
- 18. JAXBContext.newInstance bellek sızıntısı
- 19. Bellek sızıntısı Sonlandırıcı hatası
- 20. CheckedListBox bellek sızıntısı
- 21. VB'de bellek sızıntısı
- 22. Web İşçi Bellek Sızıntısı?
- 23. Fabrika kalıbı, bellek sızıntısı
- 24. Bellek için bellek sızıntısı döngüde mi?
- 25. Scala'da bellek sızıntısı var ve
- 26. Bellek sızıntısı ile ilgili sorunlar
- 27. Benzersiz_ptr'de bellek sızıntısı olacak mı?
- 28. COM bellek sızıntısı nasıl izlenir
- 29. SBJson - bellek sızıntısı var mı?
- 30. sun.net.www.http.HttpCatent bellek sızıntısı Tomcat 6
Bu, http://stackoverflow.com/questions/19150961/ios7-webkit-crashes-frequently-not-freeing-up-memory –