自定义View卡顿优化

前段时间在项目中用到折线图,于是自己自定义了View,结果在屏幕滑动时,每当自定义View出现时,手机就表现出不顺畅 卡顿的现象。如图所示:



于是通过跟踪判定是该折线图的问题。

onDraw中的代码是:


在drawValue(canvas)中画了有500左右的点和线,耗时比较长。于是进行了以下的优化

@Override
    protected void onDraw(Canvas canvas) {
//        super.onDraw(canvas);
        if(!isDraw) return;
        if (bmp == null) {
            bmp = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
            Canvas bmpCanvas = new Canvas(bmp);
            drawXYLine(bmpCanvas);
            drawXYDate(bmpCanvas);
            drawValue(bmpCanvas);
            canvas.drawBitmap(bmp, 0, 0, null);
        } else {
            canvas.drawBitmap(bmp, 0, 0, null);
        }


    }

优化后的效果如图:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值