我有一个UIWebView
正在使用过多的内存。有问题的行为涉及一个HTML / JavaScript页面,您可以通过点击它们重新着色某些区域,根据PNG文件创建新的颜色图层,但每次用户触摸该字段时(无论他们是否添加颜色或重新添加颜色) - 对现有区域进行着色)内存会增加。每一次触摸都会占用记忆,而且永远不会掉落。此过程会继续 ad infinitum ,最多导致内存丢失,最糟糕的情况是应用崩溃。
在使用活动监视器和乐器之后,我将其缩小为VM: Webkit malloc
类别中JavaScriptCore library
类别中对象的累积。这是有道理的:页面的功能是JavaScript,每个PNG层大约4KB,与正在构建的对象大小相同。
所以现在我的问题变成了,我该怎么办呢?
我是UIWebView
的新手,所以我想知道是否有人可以对我的选择有所了解?有没有办法手动清除所有这些不必要的对象(我试过[[NSURLCache sharedURLcache] removeAllCachedResponses]
但它没有做任何事情),或者阻止它们首先形成?
也许最重要的是:这可能最终成为应用中的iOS解决方案,还是页面上的JavaScript解决方案?