Android內存溢出OOM需要注意的事項

1、內存溢出常出現在對圖片的處理上,所以對圖片做操作的時候需要特別注意

  1)從文件中讀取圖片時候,應儘量保持在內存中對應的bitmap只有一個,可以使用路徑作爲唯一標識,在相應類中創建一個Map對象進行存放,並根據情況進行替換及清除,可以有效的防止相同的bimap對象被創建佔用內存。

  2)使用完的圖片資源需要注意回收,可以在相應的退出邏輯中進行bitmap的recycle();

  3)一個界面上存在多個小圖片顯示控件時候,可以根據控件的大小從文件中獲取縮小或者放大後的圖片進行顯示,切忌直接使用大的原圖進行顯示

  4)使用的第三方圖片加載控件,也要注意,針對特定的場景傳入對應大小的圖片加載地址,不能什麼場景都使用原圖

2、在一個Activity中創建的變量,如一些適配器、其他佔內存的對象之類,可以在onDestory()方法中進行對象的清值或者空引用(對象 = null)

3、可以使用Android Studio的monitor工具觀察應用在操作過程中的內存變化情況,當出現內存飆升,或者上升後長久不能下降的情況,一定程度說明了內存中存在一些佔用內存但沒有被釋放的資源需要優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章