我的應用程序以連續循環的方式繪製到畫布上,並在每個循環中重新評估drawable的位置並將它們循環爲動畫。我的問題是以下兩種方法中的哪一種更好,爲什麼?我是一個初學者,所以我不知道如何對方法進行基準測試,所以如果你可以,或者你已經有了,我會很感激這個輸入。Draw()或DrawBitmap()?
第一種方法(我正在使用的方法)是將png資源分配爲Handle作爲Drawable。然後我每次想畫我調用對象:
Drawable.setBounds(x,y,x,y);
Drawable.draw(canvas);
我的問題是它會更快(在構造函數中),解碼資源爲位圖,然後擴展它,它在適當的大小。然後在每個循環畫出通過資源:
canvas.drawBitmap(DrawableName, 0, 0, null);
我之所以問的是我的應用程序吸引數以百計的資源,所以改變一些做得不夠告訴區別,我想知道在我修改代碼之前是否會以這種方式顯着加快速度。無論如何,我需要以某種方式提高性能,所以也歡迎任何其他好的想法。
通過使用canvas.drawBitmap,您可以獲得相當大的性能提升。看看這個:http://stackoverflow.com/questions/4296441/android-canvas-drawbitmap-vs-drawable-draw-huge-performance-boost – MetalRain