記憶體洩露的幾種情況

2021-08-16 03:06:57 字數 338 閱讀 1158

**:

彙總:1.資源物件沒關閉造成的記憶體洩漏,cursor,file檔案等用完後沒有呼叫close,如果我們沒有關閉它,系統在**它時也會關閉它,但是這樣的效率太低了

2.多次使用new同乙個物件,應先判斷物件是否已經為null的情況,為null再new

3.bitmap物件不在使用時呼叫recycle()釋放記憶體

5.註冊沒取消造成的記憶體洩漏,比如呼叫registerreceiver後未呼叫unregisterreceiver。由於大量的引用沒有被**,可能造成oom記憶體溢位,是system_process掛掉

6.集合中物件沒清理造成的記憶體洩漏

7.慎用static

常見的記憶體洩露情況

1,一般來說,alloc都會應該對應乙個release 2,另外,對於autorelease的例項,不能再使用release了 3,對於用類方法建立的例項,無需release,因為在傳遞過來時,已經被autorelease了 4,對於成員變數,一般需要release,途徑有兩個 在alloc建立 使...

記憶體洩露的幾種常見原因

常見的五種記憶體洩露 a.單例造成的記憶體洩露 b.非靜態內部類建立靜態例項造成的記憶體洩露 c.handler造成的記憶體洩露 d.執行緒造成的記憶體洩露 e.webview造成的記憶體洩露 f.放錯資源目錄,列表釋放時沒有釋放 1.造成記憶體洩露有哪些?1.1單例造成的記憶體洩露 i舉例 單例的...

執行緒可能導致記憶體洩露的情況

繼承thread的執行緒,在交給jdk1.4並發包的執行緒池執行完畢後並沒有被釋放資源,而且也沒被再利用,而是白白佔著記憶體,導致記憶體洩露。預設的thread本身初始化在1.4是將自己加入了乙個threadgroup,如果你沒有呼叫它的start方法,jvm不會在該執行緒結束後將這個thread從...