Android clipPath导致卡顿

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android clipPath导致卡顿相关的知识,希望对你有一定的参考价值。

参考技术A 最近在做音乐的播放界面,中间是一个旋转的圆形封面图。
第一个方案是在onDraw中先用Canvas.clipPath裁切出圆形然后drawBitmap,旋转采用属性动画。调试时发现持续运行大概三分钟后会开始出现掉帧,logcat开始显示跳帧。所以打开profiler查看运行状况。(调试用的是骁龙801的机子所以性能比较渣)

??机子渣也不至于吧为了一个界面CPU消耗近半?
注意到下面Threads处,RenderThread在一直运行中。追踪一下方法先。

原来是你,clipPath,占了近半的时间。
由此可知clipPath中需要进行大量的计算,不适合在高频调用onDraw的情况下使用不然会导致线程卡顿。

RenderThread和UI线程的工作量明显减少,CPU平均占用13%左右(这个是真的因为手机太旧了四年前的骁龙801),换成小米8调试CPU占用1%。。突然有点庆幸自己用渣机调试不然还可能发现不了这个问题。

以上是关于Android clipPath导致卡顿的主要内容,如果未能解决你的问题,请参考以下文章

Android高性能的圆角图片控件RoundImageView

腾讯Bugly干货分享TRIM:提升磁盘性能,缓解Android卡顿

Android请求打开蓝牙导致应用很卡顿的问题

Android请求打开蓝牙导致应用很卡顿的问题

Android请求打开蓝牙导致应用很卡顿的问题

Android请求打开蓝牙导致应用很卡顿的问题