标签: android
因此,我已经实现了使用Runnable的同步机制。 Runnable的问题是,您必须确保已在Activity中正确创建和销毁了它。如果您有很多活动会怎样? -很多样板代码。
Runnable
Activity
是否可以为整个应用程序创建一个可运行的实例? 可以在SomeClass extends Application中将其初始化为应用程序入口点吗?如果是这样,那么如何解决这样的情况:即使用户收到通知,SomeClass.onCreate()也会命中(这也意味着,每次用户收到通知时都会发生同步-这很糟糕)。
SomeClass extends Application
SomeClass.onCreate()
答案 0 :(得分:0)
您为什么不使用Android应用程序架构组件中的生命周期感知应用程序组件,例如-LiveData和ViewModel。这是使用AsyncTask的最佳解决方案。
使用Runnable,您无法控制任何活动生命周期来停止或恢复执行。因为如果在后台执行Runnable做任务,它将完成所有操作,并最终导致内存泄漏。
另一种简单的解决方案是您可以尝试使用RxJava和RxAndroid,它们用更少的代码就很简单,请参见this。
如果您仍然想要传统方式,可以尝试this。