LeakCanary
原理
public static void main(String[] args) {
ReferenceQueue<Object> q = new ReferenceQueue<>();
Object test = new Object();
WeakReference<Object> weakReference = new WeakReference<>(test,q);
//print false
System.out.println("是否在队列中?"+(q.poll()==weakReference));
test=null;
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Runtime.getRuntime().gc();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// print true
System.out.println("是否在队列中?"+(q.poll()==weakReference));
}Activity
Fragment
相关链接
最后更新于