我創建了自定義ImageView,並且在其onDraw方法中,我需要根據用戶交互(如觸摸)繪製一些位圖。一切工作正常,但速度緩慢,因爲我開始添加越來越多的位圖,應用程序真的變慢了。通過調用onDraw來頻繁刷新自定義ImageView的優化
這是我在我的自定義的ImageView
@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));
}
}
的onDraw做正如你所看到的,我重畫所有的位圖中列出每次的onDraw時,位圖的數量超過說4自然叫-5操作變得非常昂貴並且降低了應用程序的速度。
對此問題的任何解決方案如何優化?
可以在不同線程中調用drawBitmap使操作更便宜嗎?
有沒有辦法保留上一個畫布的副本,然後簡單地在onDraw中恢復它,而不是再次繪製所有的位圖?
這個問題基本上是刷新視圖上的大量動態圖像和它的優化。
嗨普拉你有這個問題的解決方案,我也面臨同樣的問題。請分享你的發現。 – Arpana 2014-08-05 19:33:58