Closed xuwakao closed 4 years ago
可以使用cancelOnDestroyWith(activity)
或 cancelOnDestroyWith(fragment)
可以使用
cancelOnDestroyWith(activity)
或cancelOnDestroyWith(fragment)
使用了也不行的,引用链还在,因为匿名类成员callback持有了Activity的实例。
这种情况很容易模拟, 把 GetNetworkDataProcessor
的 Thread.sleep
时间改长一点就可以。
应用链是 :
GetDataRunnable
--> CC
-->callback
--> LifecycleActivity
由于存在匿名类callback,如果存在耗时的异步请求,内存泄漏的情况就必然存在。