我正在阅读这篇几乎解决了我的问题的帖子,因为没有人回答我的评论我决定提出一个问题:OriginalPostthatalmostanswermyquestion正如我在那里问的那样:既然有可能多个线程共享同一个OnTerminate事件,那么它们也有可能同时完成吗?如果是这样,会发生什么?对OnTerminate方法的调用将被操作系统“排队”?换句话说,如果使用MainThread属性,代码是否可以避免重入? 最佳答案 ItispossibleMultiplethreadssharethesameOnTerminateEvent是的,
我正在尝试使用SharedPreferences保存一些变量。在我的onCreate()方法中,我使用SharedPreferences初始化我的变量,并且我希望在应用程序结束时存储这些变量。我将此代码放在onTerminate()方法中,但变量从未被存储。我认为永远不会调用onTerminate()方法,因为我还看到对此方法的评论说//notguaranteedtobecalled。那么如何在停止应用程序之前保存变量的状态呢?我知道怎么做,只是不知道在哪里放置我的代码。 最佳答案 实际上,为了安全起见,您应该将内容保存在onPau
我在Android上使用RxJava和Retrofit2.0来处理网络请求。当我创建可观察对象时,我将以下内容添加到它:observable=observable.observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.io()).unsubscribeOn(Schedulers.io())然后如果我添加:observable=observable.doOnTerminate(newAction0(){@Overridepublicvoidcall(){Log.d("OBS","["+Thread.current
来自android.app.Application的文档:Baseclassforthosewhoneedtomaintainglobalapplicationstate.我正在使用我自己的子类来维护我用来查询服务器的对象。同样来自文档:onTerminate()Calledwhentheapplicationisstopping.但是,从未调用我类(class)中的onTerminate()。我在查看我的主要Activity时按下后退按钮,一切似乎都关闭了。我的主要Activity的onDestroy()方法被调用并且isFinishing()返回true,但是我的android.a