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