android 降低cpu负荷,Android WebView CPU高负荷问题

在Android中采用网页的方式进行视频数据展现和播放时,发现CPU总是居高不下,在70%—80%之间徘徊,所以通过以下方式来查看和定位:

1、adb shell: top -m 5 -s cpu 和 top -m 10 -t

2、DDMS:Heap、Threads、Allocation Tracker、System Information

均未发现有价值信息,再看看WebViewCoreThread、MediaServer占用的CPU、内存也并不高,所以进行如下隔离测试:

1、单独的APK视频播放 正常

2、单独的HTML+视频播放 正常

3、载入视频页面+播放视频 异常

4、载入视频页面+不播放视频 异常

看来都没有关系,最后发现光标从滚动字幕上离开时,CPU逐渐恢复正常……,总结一下:单独用marquee本身,影响不是很大,主要在于页面如果有其他的脚本事务,如光标系统、视频播放等往往会因为滚动效果的叠加CPU占用情况会放大。还有个更为重要的一点,应该算是Android的一个BUG:如果manifest中不配置android:targetSdkVersion="15" 类的属性,一切正常如果配置了则CPU提升很明显。除此之外:

1、在WebView中尽可能不要使用GIFs、Marquee、Blink等动画和渲染效果

Marquee不要用,有四个以上页面会好卡,如果的确需要使用可以用程序写,JQUERY中应该有现成的。

2、Gif可以用但不要太多,页面加载状态的控制可以用一下,其他的不要考虑,

当然GIF不显示出来,也不会占用CPU。

此外,如果WebView从前台切换到后台,记得及时暂停或释放资源,可参考以下方式来降低性能开销:

附上一些相关参考资料:

1、以上几类应用的性能参考

2、WebViewCoreThread problem

2、WebView的一些优化

针对WebView中加载页面的优化,同样请参考我前面的博文:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值