jjzjj

OnDestroy

全部标签

android - 调用startActivity()后不调用父Activity的onDestroy()?

我有一个Activity,里面有很多fragment事务,有时我的用户需要打开首选项Activity几秒钟。我这样做:IntentpreferencesIntent=newIntent(this,PreferencesView.class);this.startActivity(preferencesIntent);每次执行此操作时,都会调用主Activity的onDestroy()。因此,当我的用户回来时,主要Activity处于初始阶段。但我希望主要Activity像他们离开时一样。我知道我应该保存/恢复我的数据,然后让Activity重新创建自己。但这会非常复杂,而且我的用户大部

android - 为什么在使用后退按钮时在 onResume() 之后调用 onDestroy()

当我启动我的android-activity时,首先调用onCreate(),然后调用onResume()。然后当我按下后退按钮返回主屏幕并再次点击应用程序图标时,首先调用onCreate(),然后调用onResume()然后是onDestroy()。那时我的应用程序仍然处于Activity状态,但是执行某些操作会导致错误,因为onDestroy()将一些成员设置为null。这是为什么?更新:当我在按下返回键后等待30秒时,一切正常。除了将一些变量设置为null和.interrupt()后台线程外,我没有在onDestroy中做任何繁重的事情。 最佳答案

android - 如何在 Android 的 OnDestroy() 中使 SQLite 数据库上下文为空?

我在我的Activity中调用了一个SQLite数据库方法。我给出了以下代码finalDatabaseHandlerdb=newDatabaseHandler(Lists.this);在我的Activity中创建数据库实例。我没有在OnCreate()中给出上面的代码。我想在调用OnDestroy方法时使上下文为空。我做了以下事情:@OverrideprotectedvoidonDestroy(){//TODOAuto-generatedmethodstubsuper.onDestroy();System.gc();details.clear();DatabaseHandlerdb=n

android - 我是否需要在 onDestroy 期间从 View 中释放 View.OnClickListener?

我有一个包含100多个fragment的大型项目。它们几乎都遵循我将要描述的模式,我的问题也会随之而来。publicclassMyFragmentextendsFragmentimplementsView.OnClickListener{publicvoidonDestroy(...){}publicvoidonCreateView(...){...root.findViewById(R.id.some_button).setOnClickListener(this);returnroot;}publicvoidonClick(Viewv){...}}我是否需要在onDestroy中从

Android Fragment onDestroy 在方向更改期间调用了两次

我不明白为什么当设备的方向发生变化时,以下代码中的fragment类的onDestroy会被记录两次。有人可以向我解释我做错了什么吗?publicclassExampleActivityextendsActivity{protectedStringLOG_TAG=ExampleActivity.class.getSimpleName();privateFrameLayoutmFragmentHolder;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);

android - 如何测试 Activity 的 onDestroy 方法

这个问题在这里已经有了答案:Howtotestcodebuilttosave/restoreLifecycleofanActivity?(5个答案)关闭8年前。我需要测试一个ActivityonDestroy方法,然后是onCreate和onRestoreInstanceHandle。我知道一种方法-更改屏幕方向。但还有另一种情况是Activity被销毁——其他应用程序需要资源,而在某个时刻Android决定销毁后台Activity。但是,它仍然可以恢复,并且Bundle可用。有什么方法可以模拟这种情况吗?

Android fragment 生命周期 onStop、onDestroyView、onDestroy 和 onDetach

Android文档讨论了在某些情况下无法调用onStop和onDestroy的内容,但我没有发现任何与fragment相同的内容。onPause、onStop、onDestroyView、onDestroy和onDetach总是被调用吗?仅在暂停时? 最佳答案 对于Fragments也是一样的,所以总是调用onPause。当通过xml布局添加fragment时,这些回调中的大多数会同时(准确地说是在调用之前或之后)调用来自Activity的相应回调。请注意,在较新版本的Android上onStop也始终会被调用。Androiddoc

android - Intent onDestroy() 总是被后退按钮调用

我似乎遇到了与我遇到的主题相反的所有其他帖子。其他人发现onDestroy()并不总是被调用,但我发现它总是并且立即被调用。我正在检查它是否被以下调用:@OverrideprotectedvoidonDestroy(){super.onDestroy();Log.d(TAG,"onDestroy");}此日志代码在单击后退或使用我的操作栏按钮后立即触发,该按钮仅调用主页Activity作为Intent。我环顾四周,但每个人都说生命周期应该是这样的:http://developer.android.com/images/activity_lifecycle.png此行为不仅限于单个应用程

android - 在 Android 上按下电源按钮时如何防止调用 onDestroy() 后跟 onCreate()

我正在记录每个onCreate()和onDestroy()调用。我发现,一旦我在我的Android(以及模拟器上!)上单击电源按钮,就会在我的Activity中调用电话>onDestroy();>onCreate();这会终止我的游戏,然后立即从头重新打开它。当然,一旦用户解锁屏幕,游戏就会出现在主菜单中,所有进度都会被终止。是否可以覆盖或禁用此行为? 最佳答案 当您按下电源按钮时,屏幕锁定通常会启动。这可能会触发当前在前台的Activity(屏幕锁定通常处于纵向模式)的配置更改,导致它被销毁并重新创建。在AndroidManife

android - 服务的 onDestroy() 方法没有被调用的情况?

我知道服务的onDestroy()方法可能永远不会被调用,但有人能告诉我这种情况何时会发生吗?我特别感兴趣的是服务是否有可能被终止,但它的VM会继续运行。我问是因为我有一个服务在服务的onStartCommand()方法中注册ContentObservers并在onDestroy()中注销它们。如果服务的onDestroy()方法从未被调用,因为整个VM被杀死(连同它创建的观察者),那也没关系。但我想知道服务是否有可能在不调用onDestroy()的情况下“消失”,而它创建的观察者将继续存在并继续接收更改。 最佳答案 I'mawar