0


我正在阅读本教程http://developer.android.com/training/basics/activity-lifecycle/stopping.html关于停止和重新启动活动,我遇到了疑问,文字说:

当您的活动停止时,活动对象将保留在内存中,并在活动恢复时被调用。您不需要重新初始化在导致 Resumed 状态的任何回调方法期间创建的组件。

之后:

应用程序需要使用 onRestart() 来恢复 Activity 的状态并不常见,因此没有任何适用于一般应用程序群体的方法的指南。但是,因为您的 onStop() 方法本质上应该清理所有活动的资源,所以您需要在活动重新启动时重新实例化它们。但是,您还需要在第一次创建活动时(当没有活动的现有实例时)实例化它们。出于这个原因,您通常应该使用 onStart() 回调方法作为 onStop() 方法的对应方法,因为系统在创建活动和从停止状态重新启动活动时都会调用 onStart()。

按照第一段中所说的,如果我在 onCreate() 和 onStart() 方法中创建一个实例,我不需要重新初始化它们,好吧,这里很清楚,但是如果我从停止状态到恢复状态然后我必须遇到 onStart() 方法,但是如果我在这里做了一个实例,那么它会再次被重新制作!那我该怎么办?

4

1 回答 1

0

由于您不希望在 onStart() 期间重新初始化实例,因此只需在 onCreate() 期间进行初始化,如果您想保存状态,只需再次恢复即可使用它。但是,要保存更多持久性数据,您必须使用 SharedPreferences、SQLite 数据库或文件之类的东西。

于 2013-06-10T18:14:18.443 回答