您的位置:首页 > 其它

记一次安卓BUG修复的过程

2016-05-17 00:00 218 查看
https://github.com/liuz430524/BBasic

项目重构完成后,发现循环动画时偶发卡顿,首先怀疑是不是有while循环或者互斥量死锁,检查了一遍代码没有发现,之后用傻办法,将涉及到的函数运行消耗时间计时输出,终于发现问题出现在showpic和stretchbltpageEx中,再次分析,确定了造成卡顿的罪魁祸首是Bitmap.createBitmap(Bitmap source, int, int, int, int, Pain),但重构之前代码貌似运行正常,遂怀疑是否是API更改致函数内部改变,查看源码发现真的有改变,但是并不太影响的样子,于是认真想了想,发现不需要调用重量级的createBitmap,直接用canvas的drawBitmap(Bitmap source, Rect, Rect, Paint)也可,而且更好,于是马上更改,果如所料,结果令人满意,正常运行,卡顿消失,且速度又快了一些。

幸好出了这个问题,不然一个使用频率这么高的函数,太浪费系统资源了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: