我在WebView中使用Javascript时遇到了问题(使用webview.getSettings().setJavascriptEnabled(true)启用)。嵌入Javascript的HTML页面能够正确加载和显示,但我还不断地每隔10或30秒刷新屏幕。当我进入测试设备(MK808 mini-tv)的shell时,我使用“dumpsys meminfo”来查看进程的内存。每5秒钟显示一次应用程序进程的内存使用情况,我可以看到每当页面刷新时,应用程序的内存使用量会跳多个(4-10)兆字节。这种情况持续了大约30分钟左右,直到应用程序在WebViewCoreThread中崩溃,并显示致命信号11错误,没有堆栈跟踪。
不断增加的内存(从大约15000kb开始):
当JavaScript未启用时,这些内存问题或错误都不会发生。
我在每次刷新之前都会清除缓存(clearCache(true))和释放内存(freeMemory()),以及清除其他数据库和缓存。
我还尝试在每次刷新后销毁WebView并创建全新的WebView,但仍然无济于事。
我可以通过创建一个基于处理程序控制时间的Webview来轻松重现此问题。这似乎应该是一个普遍存在的问题,但我找不到任何相关主题。难道是我的设备的问题吗?
提前感谢您的帮助,如有需要,我很乐意添加更多信息!