leakcanary Android 之記憶體檢測

2021-07-23 07:27:51 字數 758 閱讀 8559

1,為什麼使用leakcanary。

因為他簡單,方便,及時,易檢視。

2,使用教程。

leakcanary是自動檢測activity的,不用再任何activity裡新增**。

如果需要檢測fragment,那必須自己寫方法,使用它是refwatcher

具體用法如下:

新增依賴:

dependencies
初始化物件:

public

class

extends

private refwatcher refwatcher;

@override

public

void

oncreate

()}

做完這兩部就可以實現activity的檢測了。 

如果需要檢測fragment:

則加入:

public

abstract

class

basefragment

extends

fragment

}

加在ondestroy()方法裡的原因是:

fragment.ondestroy()被呼叫之後,如果這個 fragment 例項沒有被銷毀,那麼就會從 logcat 裡看到相應的洩漏資訊。

ok,現在就可以執行試試看了。 

-----end

記憶體管理之記憶體定址

記憶體定址 三種記憶體位址 邏輯位址 logical address 包含機器語言指令中用來指定乙個運算元或一條指令的位址 線性位址 linear address 線性位址也稱為虛擬位址 virtual address 實體地址 physical address 用於記憶體晶元級記憶體單元定址,他們...

C 之記憶體分配

很多人都覺得學習 c 是特別困難的事情。c 學習是比較複雜的 它的記憶體分配 指標 以及物件導向思想的實現等等,確實需要一定的技術積累。我們將以專題的形式,為大家逐一剖析 c 的技術重點和難點。本專題討論的就是記憶體分配。學習 c 如果不了解記憶體分配是一件非常可悲的事情。而且,可以這樣講,乙個 c...

c 之記憶體管理

c 使用3 種不同解決方案儲存資料,區別是資料保留在記憶體中的時間 兩種儲存持續性為自動 自動變數和暫存器變數 register 沒有記憶體位址 堆疊 在函式外定義的變數和使用關鍵字static定義的變數的儲存持續性都為靜態.分為 3 外部鏈結性,內部鏈結性和無鏈結性 所有靜態變數都有下面的兩個初始...