0

我的应用程序使用 uiwebview 加载 html5 页面时遇到问题,该页面上有一个带有一些图像的画布。我不知道 html5 何时静态加载,但是当我使用来自 JQuery 的触摸事件放大画布上的图像时,内存分配开始迅速从 2mb 增加到 8 或 10mb。即使 uiwebview 被释放,高内存分配也不会减少。

有没有人遇到过这个问题?

4

1 回答 1

1

没有理由相信这是实际的内存泄漏。它很可能是 WebKit 缓存数据。相关的事情是当应用程序收到内存警告时释放内存的天气。您可以使用此代码段强制内存警告:

[[UIApplication sharedApplication] performSelector:@selector(_performMemoryWarning)];

只有在调试时才这样做!如果您使用此方法调用提交应用程序,它将被 Apple 拒绝。

您可以创建一个按钮来触发内存警告,或者使用计时器每隔几秒触发一次。当内存警告被触发时,你应该看到内存被释放(很可能即使 web 视图还没有被释放)。

于 2012-04-14T12:16:56.973 回答