【发布时间】:2013-06-25 12:31:09
【问题描述】:
我在 WebView 中遇到 Javascript 问题(使用 webview.getSettings().setJavascriptEnabled(true); 启用)嵌入了 Javascript 的 HTML 页面可以正确加载和显示,但是,我也在做的是不断刷新屏幕每 10 或 30 秒。当我进入我的测试设备(MK808 迷你电视)的外壳时,我使用“dumpsys meminfo”来查看进程的内存。每 5 秒显示一次我的应用程序进程的内存,我可以看到每当页面刷新时,应用程序的内存使用量会跳跃数 (4-10) 兆字节。这将持续大约 30 分钟左右,直到应用程序崩溃并在 WebViewCoreThread 中出现致命信号 11 错误,并且没有堆栈跟踪。
不断增加的内存(从大约 15000kb 开始):
当 javascript 未启用时,不会发生这些内存问题或错误。
我每次刷新前都会清除Cache(true) 和freeMemory(),以及所有其他数据库和缓存。
我也尝试在每次刷新后销毁 WebView 并创建一个全新的,但无济于事。
我可以通过创建一个新的应用程序项目并创建一个基于处理程序控制时间重新加载的 web 视图来轻松地重新解决此问题。这似乎应该是一个普遍的问题,但我找不到任何关于该主题的内容。会不会是我的设备?
提前感谢您的帮助,我很乐意根据需要添加更多信息!
【问题讨论】:
标签: java javascript android memory-leaks android-webview