android 關於記憶體優化的一些總結

weixin_33935777發表於2019-01-10
  • 記憶體洩漏

如果app存在記憶體洩漏沒有解決,就先不要想其它的了,先把記憶體洩漏解決掉

  • 圖片展示

以glide為例:

1.ImageView一定不要寬高都使用wrap_content
2.儘量要求後臺根據具體情況返回大中小 3種圖片。
3.glide.with(),儘量使用activity或者fragment。不要使用applicationContext
4.根據機型的記憶體大小,來設定圖片的顯示模式。記憶體小就用 RGB565 ,記憶體大就用 ARGB8888
複製程式碼

5.

圖中兩個方法在application中

  • 集合

如果可以,使用ArrayMap,SparseArray代替hashmap

  • 佈局優化

fragment不可見時,使用hide隱藏,可見時show activity同理。 減少佈局層級巢狀,既能優化記憶體,又能優化渲染速度。

  • io操作

不要一次性全部讀取到btye[],分段讀寫 byte[],注意釋放引用。 ByteArrayOutPutStream,直接緩衝到記憶體,需要注意釋放。不然容易oom,一般常見於讀取bitmap

  • 細節優化

 延時成員變數初始化
 重複使用的物件,使用單例模式
 String 使用 + 號拼接,或者使用 StringBuilder
 列舉 過多可以使用註解的形式代替列舉
複製程式碼

相關文章