我写了一个小应用程序,它应该显示一个转速计,它可以通过蓝牙获取有关 rpm 的数据。当数据发生变化时,我旋转针和其他一些图像视图以在屏幕上显示当前值。
旋转代码:
bMapRpm=bMapcanvasBackTacho.copy(bMapcanvasBackTacho.getConfig(), true);
canvasRpm.setBitmap(bMapRpm);
canvasRpm.save();
canvasRpm.rotate((float)Rpmdegree+(float)Rpmcurrentdegree,bMapRpm.getWidth()/2,bMapRpm.getHeight()/2);
canvasRpm.drawBitmap(bMapNadel,0,0,paint);
canvasRpm.restore();
bMapcanvasBackTacho 只是一个透明背景。bMapNadel 是针的位图。bMapRpm 是画布的位图
更新我总是调用的imageView:
ivNadel.setImageBitmap(bMapRpm);
我通过注释掉部分代码来尝试减慢应用程序的速度。在将 setImageBitmap() 注释掉后,减速消失了。
是否有人知道如何以其他方式更新 imageView,或者我可以更改以使其更快地工作?
谢谢=)