Tje*_*rkW 9 cpu android cpu-usage webview
我有一个带有WebView的应用程序.当Activity暂停(onPause)时,我调用适当的webview.onPause和webview.stopTimers,这些与Activity.onResume方法中的webview.onResume和webview.resumeTimers平衡.
现在,当我在webview中加载www.google.com,然后将应用程序放在后台时,它仍将使用高达30%的CPU!这太过分了.
我执行了方法分析,发现WebViewCoreThread每隔100ms运行一次MessageQueue.nativePollOnce - > WebViewCore.nativeSetScrollOffset,这导致重新绘制webview(在bakground中)(WebViewCore.nativeDrawContent).
这是一般的WebView问题还是我的应用程序中的问题?
Android 的 webview 存在很多问题,并且特定版本存在一些已知问题,如下所示:
https://code.google.com/p/android/issues/detail?id=9375
我遇到了一些类似的问题,最后销毁 webview 并重新创建它们会更便宜,因为所有 CPU 消耗都会耗尽用户的电池。
如果你想节省用户的电池,并避免卸载,我建议你这样做,Android 团队似乎正在努力改进 Webviews,让我们看看。
[更新,用户后:@CamHart 发现了一个损坏的链接]
我在 Stackoverflow 中发现了一个类似的问题,有多个回复: Memory Leak in WebView 我认为很多人都将内存泄漏与 CPU 泄漏混淆,根本原因可能是相同的,Webview 不会被破坏,如果你有一个 WebView如果 WebView 被正确销毁,则不断运行 JavaScript(例如广告),即使退出应用程序,CPU 消耗也不会下降,并且内存可能保持不变甚至下降,但不会到达应有的位置。
| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |