在我的Android應用程序中,我繪製了很多矩形,行&圓弧 ,這些在用戶操作中經常發生變化。如何優化我的代碼在畫布上繪圖
現在我所做的是在onDraw()方法 中創建我的Paint對象,以使它們保持局部變量並且不會導致任何內存問題。
但在代碼審查期間,這被指出是一個錯誤。 我被告知這可能會減慢畫布上的繪圖,因爲每次調用onDraw()時都會調用new()。所以我被要求將Paint對象作爲類變量,只初始化它們一次,並且只改變它們在onDraw()中的屬性,並在屏幕關閉/銷燬時進一步取消它們。
我想問一下,這是正確的做法還是事情已經變好了,因爲我沒有在屏幕上發現UI太慢,我懷疑這可能是不必要的改變。
請提供建議。
有什麼樣的滯後? – Ankit
好吧,無論何時你做一個'new',都有一段時間來構造這個變量。如果該變量是一個成員變量,並且已經構造過一次(比如在'onCreate()')中,那麼這段時間已經用完了。簡單地改變'mPaint'的屬性就不會有太多的CPU週期了(我沒有硬性的數字,但我認爲這是半明顯的......我希望!) –