草庐IT

onDestroyed

全部标签

android - 清除静态数据 onDestroy()

在我的应用程序中有一个类,我在其中声明了一些static变量。问题是当应用程序被销毁时,所有变量的值都没有重置。有什么方法可以在应用程序被销毁时重置所有静态变量的值,除非在onDestroy()中单独重置它们? 最佳答案 classMySettings{//finalcan'tbechangedpublicstaticfinalStringCONSTANT="ucantchangeme";//static-allObjectshavejustthese-evendifferentAcitivitiesetcpublicstaticS

android - onDestroy() - 设置或不设置实例变量为空?

在Activity的onDestroy()回调中专门将实例变量设置为null是个好主意吗?像这样:@OverrideprotectedvoidonDestroy(){super.onDestroy();mClassVariable1=null;mClassVariable2=null;mClassVariable3=null;}如果我在JavaSE中没记错的话,任何被隔离且未连接到正在运行的程序的引用都可以被垃圾回收。那么这是否使上述内容变得多余?另一方面,移动设备的生命周期不同,以上是否是最佳实践?我知道这样做不会有什么坏处,但有时会有许多类变量(对个别UI元素的引用等),所以我真的

Android:应用程序类中的 onDestroy() 或类似方法

我正在扩展Application类以处理一些需要上下文的全局变量。我知道Application类中有onCreate()方法,它在Activity中的任何其他onCreate()之前被调用,但是我想知道Application类中是否有onDestroy()或类似方法可以被覆盖这样我就可以将变量存储在持久内存中,取消注册监听器并在应用进程被杀死之前将最后一条消息发送到服务器?如果没有,有没有其他方法可以做到这一点? 最佳答案 在应用程序类的生产设备上没有这样的回调。您想要做的事情通常应该在更改完成后立即完成,或者在相应应用组件的onP

Android:应用程序类中的 onDestroy() 或类似方法

我正在扩展Application类以处理一些需要上下文的全局变量。我知道Application类中有onCreate()方法,它在Activity中的任何其他onCreate()之前被调用,但是我想知道Application类中是否有onDestroy()或类似方法可以被覆盖这样我就可以将变量存储在持久内存中,取消注册监听器并在应用进程被杀死之前将最后一条消息发送到服务器?如果没有,有没有其他方法可以做到这一点? 最佳答案 在应用程序类的生产设备上没有这样的回调。您想要做的事情通常应该在更改完成后立即完成,或者在相应应用组件的onP

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