名詞解釋
OOM Out Of Memory 內存溢出
理解
如果不好理解,可以想象一下水溢出,向一個杯子裏面持續加入水,當水杯空間不夠用的時候,水就會溢出
同理,android系統分配給app的運行內存就是一個水杯,當app開銷內存超過分配當內存時,就會產生內存溢出
產生當幾種原因
- 內存一次性開銷過大
- 內存持續性開銷
- 內存回收不及時
- 內存無法回收
每種原因對應的實例
內存一次性開銷過大:加載巨圖等
持續性開銷:listview加載圖片滾動,循環創建對象等
內存回收不及時:內存開銷過快,GC頻率跟不上開銷速度等
內存無法回收:內存泄露導致內存溢出等
以上爲總結的內存溢出的一些現象對應的根本原因,歡迎補充,我會持續豐富到文章當中。
歡迎關注這個不是技術號的公衆號,我們聊聊別的。