android 涂鸦 卡顿,涂鸦框架的优化——解决绘制时的卡顿问题,纵享丝滑

前言

V5.5: 增加优化绘制的选项,可优化绘制速度和性能,纵享丝滑。

boolean optimizeDrawing = true; // 是否优化绘制,建议开启,可优化绘制速度和性能.

DoodleView mDoodleView = new DoodleView(this, bitmap, optimizeDrawing, doodleListener);

复制代码

真是太不容易了!

其实在很早之前,笔者就已经感受到涂鸦时的卡顿,特别是随着涂鸦越多卡顿越明显,奈何当时心有余而力不足,一直找不到最佳的解决方法。直到最近灵感爆发,终于解决之,纵享丝滑!

问题的初步解决

当涂鸦越来越多时,操作时的卡顿越明显,同时也导致涂鸦的轨迹不够圆滑。初步分析是因为DoodleView每次刷新绘制都会把所有的涂鸦都绘制一遍,因此涂鸦越多,绘制越耗时。

private void doDraw(Canvas canvas){

...

for (IDoodleItem item : mItemStack) { // 耗时:绘制所有涂鸦

...

item.draw(canvas);

...

}

}

复制代码

借助Android Studio的Profiler工具查看cpu的主要耗时在绘制方法里:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值