清除(或阻止)在UIWebView中构建的JavaScriptCore对象?

时间:2013-10-29 17:59:01

标签: javascript ios memory-management uiwebview javascriptcore

我有一个UIWebView正在使用过多的内存。有问题的行为涉及一个HTML / JavaScript页面,您可以通过点击它们重新着色某些区域,根据PNG文件创建新的颜色图层,但每次用户触摸该字段时(无论他们是否添加颜色或重新添加颜色) - 对现有区域进行着色)内存会增加。每一次触摸都会占用记忆,而且永远不会掉落。此过程会继续 ad infinitum ,最多导致内存丢失,最糟糕的情况是应用崩溃。

在使用活动监视器和乐器之后,我将其缩小为VM: Webkit malloc类别中JavaScriptCore library类别中对象的累积。这是有道理的:页面的功能是JavaScript,每个PNG层大约4KB,与正在构建的对象大小相同。

所以现在我的问题变成了,我该怎么办呢?

我是UIWebView的新手,所以我想知道是否有人可以对我的选择有所了解?有没有办法手动清除所有这些不必要的对象(我试过[[NSURLCache sharedURLcache] removeAllCachedResponses]但它没有做任何事情),或者阻止它们首先形成?

也许最重要的是:这可能最终成为应用中的iOS解决方案,还是页面上的JavaScript解决方案?

0 个答案:

没有答案