似乎Looper (至少是用HandlerThread创建的那个)从来不会被垃圾回收,即使没有被其他代码引用。我知道quit()和quitSafely()方法,但是在我的应用程序中,我不确定谁将负责调用这些方法中的一个。
在具有多个活动的应用程序中关闭Looper的正确方法是什么,以及在此Looper上创建的Handler的生命周期与其中活动的生命周期不同。它不能是任何活动的onDestroy()。如果我不关闭它,并且进程没有被操作系统终止-新的Looper可能会在下一个应用程序“启动”时创建,而这个应用程序将会泄漏。或者,创建一次,存储在静态字段中,永远不要退出,让它泄漏一次。到目前为止,最后一个似乎是最安全和最容易实现的。
发布于 2016-07-02 04:36:32
在具有多个活动的应用程序中关闭循环的正确方法是什么,以及在此循环上创建的处理程序的生命周期与其中的活动的生命周期不同
使用Service。
它有自己的循环,自己的生命周期,可以像主线程一样活动。
您可以使用LocalBroadcastManager来获取它的回调。
https://stackoverflow.com/questions/38152040
复制相似问题