Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 调用onDestroy后,应用程序的部分状态保持不变_Android_Android Activity_Android Fragments_Ondestroy - Fatal编程技术网

Android 调用onDestroy后,应用程序的部分状态保持不变

Android 调用onDestroy后,应用程序的部分状态保持不变,android,android-activity,android-fragments,ondestroy,Android,Android Activity,Android Fragments,Ondestroy,我不太确定如何描述这个问题,因为我不能真正理解到底发生了什么 我有一个单一活动的应用程序,其中片段被连接和分离 当应用程序进入暂停状态并返回活动状态时,所有工作正常 但是,当调用onDestroy并重新启动应用程序时,似乎有一些关于片段或活动先前状态的信息 以前工作的控件不会在片段和主活动以及片段之间连接 当我将应用程序从先前执行的列表中滑出时,它可以重新启动,并且所有操作都会再次按预期进行 这是我记录问题发生时发生的情况的方式: Main activity: onPaus, Main act

我不太确定如何描述这个问题,因为我不能真正理解到底发生了什么

我有一个单一活动的应用程序,其中片段被连接和分离

当应用程序进入暂停状态并返回活动状态时,所有工作正常

但是,当调用onDestroy并重新启动应用程序时,似乎有一些关于片段或活动先前状态的信息

以前工作的控件不会在片段和主活动以及片段之间连接

当我将应用程序从先前执行的列表中滑出时,它可以重新启动,并且所有操作都会再次按预期进行

这是我记录问题发生时发生的情况的方式:

Main activity: onPaus, 
Main activity: onStop 
Fragments: destroyView,
Fragments: onDestroy
Fragments: onDetach 
Main activity: onDestroy 

有一段时间,我认为这与前面描述的OsmDroid视图有关,但我不确定一定是这样。

您如何知道onDestroy被调用的?请具体说明。您是否在onDestroy中添加了日志记录语句,以确认在您认为它确实被调用时,它确实被调用了。@Stephanbraczyk是的。我记录的是活动调用了onPaus、onStop和onDestroy。此外,还会从onStop和onDestroy之间的片段调用destroyView、onDestroy和onDetach。当活动转到后台时,其状态将通过包含视图状态的onsaveInstance()方法保存。再次创建时,可以通过onCreate()方法的bundle@Quanturium你是说onSaveInstanceState(Bundel b)?是的,当你的应用程序进入后台时,这就是所谓的。当从先前保存的状态重新创建活动时,该捆绑包将作为onCreate()方法的参数传递。