【发布时间】:2011-03-27 06:23:41
【问题描述】:
每次我加载大于 2MB 的 html 文件时,我的应用程序都会崩溃。网页的大小是否有限制?我怎样才能不让我的应用崩溃(部分加载?)
【问题讨论】:
每次我加载大于 2MB 的 html 文件时,我的应用程序都会崩溃。网页的大小是否有限制?我怎样才能不让我的应用崩溃(部分加载?)
【问题讨论】:
当您加载 2MB 的 HTML 时,UIWebView 必须消耗大量内存来创建 DOM 和所有控件/图形/等。实际显示页面。限制不是 HTML 大小,而是显示它所需的最终内存量。使用 Activity Monitor 在模拟器中运行它以查看内存消耗
Xcode Instruments: peak RAM of iPhone apps running in Simulator?
您需要分解您的页面或找到另一种方法来进行标记以使内存更小。请注意,如果您需要创建相同的页面,仅缩小 HTML 可能无济于事。
【讨论】:
我敢打赌,您忽略了发送到 UIWebView 所在的 UIViewController 子类的内存警告。
取消注释 -(void)didReceiveMemoryWarning 并从那里发出一些 NSLog 消息。您可能会看到手机正疯狂地试图引起您对内存不足的注意。如果你不通过降低内存使用来做出回应,它会杀死你。
你想要在那个方法中做的是释放你持有的任何资源——图像、大块数据等。
【讨论】: