我正在阅读本教程http://developer.android.com/training/basics/activity-lifecycle/stopping.html关于停止和重新启动某项活动,我遇到了疑问,文字说:
当您的活动停止时,Activity对象将保留在内存中,并在活动恢复时被调用。您不需要重新初始化在任何导致Resumed状态的回调方法期间创建的组件。
之后:
应用程序需要使用onRestart()来恢复活动的状态并不常见,因此此方法没有适用于一般应用程序群的任何准则。但是,因为onStop()方法应该基本上清理所有活动的资源,所以当活动重新启动时,您需要重新实例化它们。但是,当您第一次创建活动时(当没有活动的现有实例时),您还需要实例化它们。因此,您通常应该使用onStart()回调方法作为onStop()方法的对应方法,因为系统在创建活动时以及从停止状态重新启动活动时都会调用onStart()。 p>
如果我在onCreate()和onStart()方法中创建了一个实例,那么在第一段中说的是什么我不需要重新初始化它们,好吧,这里很清楚,但是如果我做的话从Stopped状态到Resumed状态的转换然后我必须遇到onStart()方法,但是如果我在这里创建一个东西的instane然后它再次重新制作!那我该怎么办?
答案 0 :(得分:0)
由于您不希望在onStart()期间重新初始化实例,因此只需在onCreate()期间初始化并使用this,如果您希望仅通过再次恢复来保存状态。但是,要保存更多持久性数据,必须使用SharedPreferences,SQLite数据库或文件。