我不是专家WeakReferences
,因为我刚刚在此过程中认识了他们。
我在我的活动中使用Timer
with 。TimerTask
众所周知,只要您调用 Timers,就不能重用cancel()
它们,除非您创建它的新实例。
所以我正在做的是Timer
在我的活动中创建一个全局。
Timer timer;
在我的 onResume() 中,我通过timer = new Timer();
这样做的原因是为了避免Timer already cancelled
异常。因为 onPause() 可能会在手机屏幕锁定或其他任何情况下被调用,而我正在调用timer.cancel()
我的onPause()
方法。
我的问题是,当计时器被取消时,它是否会自动变得容易Garbage collection
因为再次使用它完全没有意义 AFAIK。如果是这种情况,收集它的速度有多快?
使用 a WeakReference
here 会派上用场吗?如果没有,它在哪里有帮助?