通过调用onDraw经常刷新的自定义ImageView的优化
||
我创建了一个自定义ImageView,并在其onDraw方法中需要根据用户交互(如触摸)绘制一些位图。一切运行良好,但是随着我开始添加越来越多的位图,应用程序的运行速度实际上变慢了。
这是我在自定义ImageView的onDraw中所做的
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Log.e(TAG, \"onDraw called\");
for (int i=0; i < bitmapList.size(); i++){
drawBitmap(canvas, bitmapList.get(i));
}
}
如您所见,每次当位图的数量超过4-5时,自然调用onDraw时,我都会重绘List中的所有位图,该操作将变得非常昂贵,并使应用程序变慢。
如何解决这个问题的任何解决方案?
可以在其他线程中调用drawBitmap降低操作成本吗?
有没有办法保留前一个画布的副本,然后将其简单地还原到onDraw中,而不是再次绘制所有位图?
本质上,问题在于刷新具有大量动态图像的View及其优化。
没有找到相关结果
已邀请:
2 个回复
讼乐
摊揉售