草庐IT

OnDestroy

全部标签

android - Activity 方法 :onCreate() and onDestroy()

当第一次创建Activity时,系统调用OnContentChanged()方法作为第一个方法,系统最后一次调用是OnDetachedFromWindow()方法一个Activity被杀死,但android文档说Activity的整个生命周期发生在OnCreate()和OnDestroy()之间。为什么?请帮助我理解这些方法之间的区别。代码:importandroid.app.Activity;importandroid.content.res.Configuration;importandroid.os.Bundle;importandroid.widget.Toast;public

在没有 onpause() 或 onstop() 的情况下调用 ondestroy() 的 Android 场景

几天前,我被要求写下调用ondestroy()而没有调用onpause()或onstop()的场景。可能吗。如果是,请解释。 最佳答案 如果您尝试下面的代码,您会发现onDestroy()确实被调用而onPause()和onStop()生命周期回调被跳过。@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);finish();}

android - 如何区分是否调用 onDestroy() 作为配置更改序列的一部分?

在我的Activity中,需要在onDestroy()中销毁一些外部事物(服务)。但是当配置更改发生时(例如键盘翻转)我不希望这样做,因为它会立即恢复。那么问题来了:如何区分onDestroy()是由sayBack-keypress还是部分配置更改过程引起的?在@CommonsWare的回答之后会很简单)类似:@OverrideonDestroy(){if(mIsChangeConfig==true){mIsChangeConfig=false:}else{stopService();}}@OverrideonRetainNonConfigurationInstance(){mIsCh

android - GCMRegistrar.onDestroy(context) 崩溃,接收器未注册

我应该如何调用GCMRegistrar.onDestroy?目前我的主要Activity包括:protectedvoidonDestroy(){GCMRegistrar.onDestroy(this);super.onDestroy();}在进行注册或取消注册然后杀死主要Activity后,我得到了这个:08-1315:43:56.459:E/AndroidRuntime(2389):FATALEXCEPTION:main08-1315:43:56.459:E/AndroidRuntime(2389):java.lang.RuntimeException:Unabletodestroy

android - 为什么返回父 Activity 时总是调用onDestroy?

我有一个基于BuildingYourFirstApp的非常简单的应用程序教程。有两个activity:MainActivity通过startActivity()调用DisplayMessageActivity。当输入DisplayMessageActivity时,我看到:MainActivity.onStop()正如预期的那样,但是当我按下后退按钮返回父MainActivity时,我得到:MainActivity.onDestroy()MainActivity.onCreate(null)MainActivity.onStart()对于这个非常简单的应用程序,Activity总是被破坏

Android 应用程序在被杀死时不调用 "onDestroy()"(ICS)

我正在使用蓝牙通信(使用专有协议(protocol))开发一个android应用程序,我需要捕捉应用程序被终止的时刻。我想使用“onDestroy()”方法,但并不是每次应用程序被杀死时都会调用它。我注意到当我按下后退按钮时它会被调用,并且只有在我从任务管理器中终止应用程序时才会调用它。问题是:如何在应用程序被杀死之前捕捉到这一刻?这是我尝试使用的代码:@OverridepublicvoidonDestroy(){sendMessage(msg);Log.d("SampleApp","destroy");super.onDestroy();}@Overridepublicvoidfin

android - fragment 生命周期 : when "ondestroy" and "ondestroyview" are not called?

想象一下这个场景:我在Pager中有一个Fragment。我尝试切换到其他应用程序,以便拥有我的寻呼机(和我的fragment)的Activity最终将停止并暂时销毁。所以,当我回到我的Activity时,会调用Fragment的回调onCreate、oncreateview等等。但是之前没有调用Fragment的onDestroy回调!似乎在“onStop”之后fragment立即被销毁。这是正常行为吗?是不是因为Activity没有调用它的onDestroy就被销毁了? 最佳答案 看看这个问题:WhyimplementonDes

android - android 服务是否保证调用 onDestroy()?

android上Activity的生命周期图并不能保证onDestroy()会被调用,但是进程可能会被杀掉,Activity会被突然移除。android上Service的生命周期图确实保证会调用onDestroy()。所以我有两个关于这种差异的问题。首先,如果Service与Activity属于同一进程,那么ServiceonDestroy()是否被调用,而ActivityonDestroy()没有被调用?我认为不会,因为“杀死进程”表明操作系统正在停止其线程并释放其资源。如果是这样的话,一个仅服务进程会被操作系统突然杀死吗? 最佳答案

java - 在 onPause、onStop 和 onDestroy 方法中调用父类(super class)方法的正确顺序是什么?为什么?

我刚刚浏览了AndroidDeveloperSite,刷新了Activity生命周期,在每个代码示例中,父类(superclass)方法旁边都有一条注释,上面写着“始终首先调用父类(superclass)方法”。虽然这在创建半周期:onCreate、onStart和onResume中是有意义的,但我对销毁半周期的正确过程有点困惑:onPause、onStop、onDestroy。在销毁特定于实例的资源可能依赖的父类(superclass)资源之前,首先销毁实例特定的资源是有意义的,而不是相反。但评论表明并非如此。我错过了什么?编辑:由于人们似乎对问题的Intent感到困惑,我想知道以下

java - 在 onPause、onStop 和 onDestroy 方法中调用父类(super class)方法的正确顺序是什么?为什么?

我刚刚浏览了AndroidDeveloperSite,刷新了Activity生命周期,在每个代码示例中,父类(superclass)方法旁边都有一条注释,上面写着“始终首先调用父类(superclass)方法”。虽然这在创建半周期:onCreate、onStart和onResume中是有意义的,但我对销毁半周期的正确过程有点困惑:onPause、onStop、onDestroy。在销毁特定于实例的资源可能依赖的父类(superclass)资源之前,首先销毁实例特定的资源是有意义的,而不是相反。但评论表明并非如此。我错过了什么?编辑:由于人们似乎对问题的Intent感到困惑,我想知道以下