在專案上碰到應用多個場景電流超標,經過分析是動畫導致的,主介面動畫是opengl實現的,而opengl有兩種渲染模式:連續不斷的渲染和被動渲染,應用的動畫直接是預設的連續不斷的渲染,這樣一來只要開啟了應用gpu就會一直渲染,從而造成了功耗偏高。
優化的方式就是將動畫渲染模式更改為被動渲染:
a.自動模式
setrendermode(glsu***ceview.rendermode_continuously);
b."髒"模式
.setrendermode(glsu***ceview.rendermode_when_dirty);
當需要重繪時,呼叫
glsu***ceview.requestrender()
此優化能夠明顯境地gpu開銷、降低功耗。
Android 幀動畫OOM問題優化
xmlns android android oneshot false android drawable drawable img0 android duration 17 android drawable drawable img1 android duration 17 android draw...
Android 幀動畫OOM問題優化
animationdrawable animationdrawable if imageview.getdrawable null animationdrawable.start 開始 animationdrawable.stop 結束 oom問題及優化 記憶體溢位咋辦 用普通方法實現幀動畫用到普通...
Android開發之逐幀動畫優化
android上如果使用逐幀動畫的話,可以很方便地使用animationdrawable,無論是先宣告xml還是直接 裡設定,都是幾分鐘的事,但使用animationdrawable有乙個致命的弱點,那就是需要一次性載入所有到記憶體,萬一幀數多了或者每張都比較大,很容易就報out of memory...