今天在排查Webview耗电问题时发现, 在WebView放到后台之后, 应该调用
WebView.pauseTimers
, 在WebView回到前台时再调用
WebView.resumeTimers
否则在后台WebViewCoreThread线程会无法停止, 进程会持续占用cpu, 导致耗电。
否则在后台WebViewCoreThread线程会无法停止, 进程会持续占用cpu, 导致耗电。
下图是浏览器未加这个接口时按home键放到后台并锁屏之后的线程和cup占用情况,WebViewCoreThread未停止,UI进程持续占用cpu
注意:
由于pauseTimers和resumeTimers是全局生效的, 并不只影响单个WebView, resumeTimers注意不要遗漏, 否则遗漏的WebView会出现异常. 最好在重写的WebView
基类中修改