WebView在WebViewCoreThread中使用30%的后台

时间:2011-10-04 08:57:23

标签: android webview cpu cpu-usage

我有一个带有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问题还是我的应用程序中的问题?

1 个答案:

答案 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,让我们看看。