2011-09-27 123 views
0

是不是更efficeint創建一個新的paint()或修改並exsisting之一,當你想在一個不同的字體大小或樣式打印的東西嗎? - 這是一個遊戲,所以變化將作出每一幀Android的不同的油漆TEXTSIZE

回答

0

據我所知對象創建始終是昂貴的。如果可以的話,你應該避免這種情況,尤其是在你發生這種情況時。 Android總是建議你重用對象(see this doc)。我不認爲Paint應該有這麼大的內存佔用量,但爲什麼不僅僅是重用。或者創建兩個並使用它們?

我什麼時候應該重新使用(在這種情況下,塗料)的對象?
如果你只是改變文字大小和顏色,我會重複使用一種顏料。如果你改變幾乎所有的油漆屬性來繪製另一個文本,我建議爲它創建另一個油漆對象,因爲你已經初始化了一次,重複使用它來獲得相同類型的文本,並且你的代碼將更加清晰。

+0

我有分數tExt,HP文本,消息文本,損壞文本,所有不同大小的字體大小,我只想知道是否有意義,只有1 Paint()適用於所有文本並在調用 – GideonKain

+0

之間進行修改更新... – Knickedi

0

如果油漆對象沒有改變每一幀,然後我會通過爲每個你需要一個大小噴漆的對象換一個小的內存懲罰有更好的表現,但不是每個框架上。在類構造函數中執行並在每個框架中使用它,因此它們僅創建一次。
此外,如果Paint對於不同的實例不會更改,請將Paints設置爲靜態,並且您將爲所有實例設置一個。