我们有一个全面的iOS应用程序混合模式 - 一个UIWebView在JS中的Web应用程序的主要部分。它在iOS6上运行良好,但最近我们发现所有iOS7设备(iPad,iPhone 4/4S和iPhone 5/5C/5S)发生严重的内存不足崩溃。我们在iOS模拟器的iOS6和7上分析了内存消耗。通过在应用程序中进行相同的交互,iOS6中WebView的内存消耗总是低于200MB,而在iOS7上它可以超过800MB!
我们猜想iOS7上的WebView存在一些严重的内存管理问题。但缺乏在WebView中剖析JS的工具,我们找不到根本原因。 在这里,我们想问问任何人是否有类似的问题,并且任何工具/方法都可以帮助进一步深入了解UIWebView以挖掘确切的问题。谢谢。iOS7 UIWebView内存泄漏
9
A
回答
0
在处理json对象时,UIWebView和iOS7本机Safari浏览器似乎在内存管理上都有问题。 如果您的字典具有深嵌套结构,并且您碰巧有一个关键字是数字字符串,并且它小于99999,则可能会经常收到内存警告。
类似,
{"**98304**":
{"key":
{"2ndLevelKey":
{
"address":"10928 Homestead rd","city":"Cupertino","Zip":95014
}
}
}
}
周围的工作很简单,尝试更换键 “” 像 “ID98304”。 希望你已经解决了这个问题。 :)
+0
当这个问题将被修复? – wawanopoulos
+0
错误15476175于11月14日提交给苹果公司,迄今为止没有更新状态。 –
1
我没有足够的声望来upvote或评论。所以我认为“答案”是我可以贡献的唯一方式。
我同意朱明的贡献。我发现如果你有5个数字键(9999 <键< = 99999),iOS 7上的内存使用量会爆炸。
下面是我在尝试重现崩溃我的应用时遇到的示例代码。
tempobj = {};
for(var i=1; i<2000; i++){
var temp = {};
tempobj[i] = temp;
temp[98304] = "hello world";
}
在找到这个计算器之前,我也向苹果提交了一个bug,但看起来这是一件好事。
相关问题
- 1. UIWebView内存泄漏
- 2. UIWebView中的内存泄漏
- 3. (很多)UIWebView内存泄漏
- 4. UIWebView的内存泄漏
- 5. IOS7 - Xcode5 - 内存泄漏无代码
- 6. 使用UIWebView和Javascript的内存泄漏
- 7. 使用UIwebview时发生内存泄漏
- 8. 海量的UIWebView内存泄漏
- 9. 在uiwebview分配内存泄漏
- 10. Font Glyph/UIWebView中的内存泄漏
- 11. UIWebview javascript泄漏?
- 12. UIWebView的泄漏
- 13. 内存泄漏
- 14. 内存泄漏:
- 15. 内存泄漏
- 16. 内存泄漏
- 17. 内存泄漏
- 18. 内存泄漏
- 19. 内存泄漏
- 20. 内存泄漏
- 21. 内存泄漏
- 22. 内存泄漏
- 23. 内存泄漏:
- 24. 内存泄漏
- 25. 内存泄漏
- 26. 内存泄漏
- 27. 内存泄漏
- 28. 内存泄漏
- 29. 内存泄漏
- 30. 内存泄漏
这似乎与http://stackoverflow.com/questions/19150961/ios7-webkit-crashes-frequently-not-freeing-up-memory –