即使没有被其他代码引用,似乎Looper
(至少是用创建的那个)也永远不会被垃圾收集。HandlerThread
我知道quit()
和quitSafely()
方法,但是在我的应用程序中,我不确定谁将负责调用这些方法之一。
关闭Looper
具有多个活动的应用程序的正确方法是什么,以及Handler
在此创建的 s 的Looper
生命周期与其中的活动不同。它不能是onDestroy()
任何活动。如果我不关闭它并且该进程没有被操作系统杀死 -Looper
可能会在下一个应用程序“启动”时创建新的并且这个会泄漏。或者,创建一次,存储在静态字段中,永不退出,让它泄漏一次。到目前为止,最后一个似乎是最安全和最容易实施的。