记一次安卓BUG修复的过程
记一次安卓BUG修复的过程
liuz430524 发表于2年前
记一次安卓BUG修复的过程
  • 发表于 2年前
  • 阅读 5
  • 收藏 0
  • 点赞 2
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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)也可,而且更好,于是马上更改,果如所料,结果令人满意,正常运行,卡顿消失,且速度又快了一些。

幸好出了这个问题,不然一个使用频率这么高的函数,太浪费系统资源了。

共有 人打赏支持
粉丝 2
博文 6
码字总数 2883
×
liuz430524
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: