Android 開發中踩過的坑之十: 謹慎處理動畫的開始和結束

Android提供多種動畫機制, 從面相對象的方式到直接實現底層onDraw的方式, 給予了足夠的控件實現但願的效果, 緩存

不管時使用哪一種方式實現動畫, 都要謹慎的處理動畫的兩個狀態, 開始和結束動畫

須要關注的問題有:對象

1 動畫開始的時候是否須要從新初始化內存?內存

   對於須要重複展現的動畫, 應當避免每次都new新的內存, 不然在動畫展現過程, 內存會不斷增長, 而gc合適回收, 是不肯定的.gc

   也許當gc時, 你已經在OOM的邊緣了.cpu


2 動畫開始時是不是從某個中間狀態開始的?new

   動畫從某個中間狀態開始, 應當避免中間狀態之前的運算, 沒什麼別的理由, 省CPU, 省電.底層


3 動畫結束後是否能夠中止動畫的運算?控件

   經過繪製畫布實現的動畫, 在動畫結束後, 要謹慎確認畫布是否在重複繪製最後一個幀, 這個是隱晦的,內存和cpu殺手


4 動畫結束後是否須要釋放動畫過程當中運算的結果?

   這也是針對重複展現動畫的, 某些中間結果若是能夠複用, 就應當緩存下來, 提供動畫的效果, 減小cpu消耗

相關文章
相關標籤/搜索