2013-06-27 96 views
4

我在使用webview.getSettings()启用webView中的Javascript时出现问题setJavascriptEnabled(true);)嵌入Javascript的HTML页面加载并正确显示,但是,我也是每10或30秒不断刷新屏幕。当我进入我的测试设备(MK808 mini-tv)的外壳时,我使用“dumpsys meminfo”来查看过程的记忆。每5秒显示一次应用程序进程的内存,我可以看到每当页面刷新时,应用程序的内存使用量就会跳跃多个(4-10)兆字节。这将持续大约30分钟左右,直到应用程序在WebViewCoreThread中发生致命信号11错误,并且没有堆栈跟踪时崩溃。Android WebView - JavaScript内存泄漏

不断增加内存(约为15000kb启动):不启用Javascript

enter image description here


这些记忆问题或错误无发生。

我在刷新之前每隔一段时间清理一次clearCache(true)和freeMemory(),以及其他所有数据库和缓存清除。

我也曾尝试在每次刷新后破坏WebView并创建一个全新的,无济于事。

我可以轻松地重新制作这个问题,只需制作一个新的应用程序项目,并根据处理程序控制时间重新加载webview。这似乎应该是一个普遍的问题,但我无法找到任何关于此主题。它可能是我的设备吗?

在此先感谢您的帮助,我很乐意根据需要添加更多信息!

回答

0

尝试也补充一点:

//Injects the supplied Java object into this WebView. The object is injected into the 
    //JavaScript context of the main frame, using the supplied name. This allows the 
    //Java object's public methods to be accessed from JavaScript. 
    WebView.addJavascriptInterface(new JavaScriptInterface(this), "Android"); 
+1

当我在我的dev的电脑我会尝试这个明天。但是有一个问题,如何让Javascript的当前Activities方法释放Javascript似的内存? – YeomansIII

+1

经过测试,这显示不会真的做任何事情...谢谢你的帮助,虽然 – YeomansIII

+0

你有这个想通了吗? –