我有一个带有WebView的应用程序。当Activity暂停(onPause)时,我调用适当的webview.onPause和webview.stopTimers,这些与Activity.onResume方法中的webview.onResume和webview.resumeTimers平衡。
现在,当我在webview中加载www.google.com,然后将应用程序放在后台时,它仍将使用高达30%的CPU!这太过分了。
我执行了方法分析,发现WebViewCoreThread每隔100毫秒就会使用MessageQueue.nativePollOnce - > WebViewCore.nativeSetScrollOffset,这导致重新绘制webview(在bakground中)(WebViewCore.nativeDrawContent)。
这是一般的WebView问题还是我的应用程序中的问题?
答案 0 :(得分:0)
Android在网页浏览中存在很多问题,特定版本存在一些已知问题,您可以在此处看到:
https://code.google.com/p/android/issues/detail?id=9375
我遇到了一些类似的问题,最后破坏网页浏览量并再次重新创建它们会更便宜,因为所有的CPU消耗都会耗尽用户的电池。
我发现了一篇可能对您有用的好帖子: http://garena.github.io/blog/2014/07/18/android-prevent-webview-from-memory-leak/
如果您想保留用户的电池,并避免卸载,我建议您这样做,似乎Android团队正在努力改进Webview,让我们看看。