activity的生命周期:
以下是对他的七个方法的简单理解
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
启动一个新的Activity 就会依次由 Android 操作系统调用:
onCreate: Activity 第一次被调用;设置布局文件、绑定监听器等操作。
onStart:当 Activity 被显示的时候调用
onResume:当 Activity 能获得用户焦点的时候(即用户可以操作该 activity 的时候)。
在当前运行的Activity 被打断时(来电话或跳到另一个 Activity 时)调用 onPause ,在函数内部编写一些保存当前 Activity 数据的代码。以待返回时还原数据。
当一个Activity 处于不可见状态的时候,就会调用该 Activity 的 onStop 方法。比如跳转到新的 Activity后。如果跳转出来的是一个对话框( Dialog ),则不会调用 onStop 方法。
当一个Activity 调用了 onStop 之后又被返回是,则是调用 onRestart 方法,然后再 onStart 和onResume 。
当明确地调用了一个Activity 的 finish() 方法,或当 Android 系统资源不足,而某个 Activity 处于不可见状态,则系统会选择销毁掉第一个不可见的 Activity ,则系统就会调用这个 Activity 的 onDestroy 方法,销毁这个 Activity 。
activity的状态:
activity的生命周期主要包含一些三种状态:
(1)运行态(Resumedstate)
此时Activity程序显示在屏幕前台,并且具有焦点,可以与用户的操作进行交互,如向用户提供信息、捕获用户单击按钮的事件并做处理。
(2)暂停态(PausedState)
此时Activity程序失去了焦点,并被其他处于运行态的otherActivity取代在屏幕显示,但otherActivity程序并没有覆盖整个屏幕或者具有半透明的效果—此状态即为暂停态。处于暂停态的Activity仍然对用户可见,并且是完全存活的(此时Activity对象存留在内存里,保留着所有状态与成员信息并保持与窗口管理器的连接)。如果系统处于内存不足的情况下,会杀死这个Activity。
(3)停止态(StoppedState)
当Activity完全被另一个otherActivity覆盖时(此时otherActivity显示在屏幕前台),则处于停止态。处于停滞态的Activity依然是存活的(此时Activity对象依然存留在内存里,保留着所有的状态和与成员信息,但没有与窗口管理器保持连接),而且它对用户是不可见的,如果其他地方需要内存,系统会销毁这个Activity。
处于暂停态(PausedState)或者停止态(Stopped State)的Activity,系统可以通过调用finish()方法或者直接终止它的进程来销毁此Activity(从内存中清楚此Activity对象)。被finish()或者销毁的Activity再重新打开时,是需要再次初始化此Activity的。
本文详细解析了Android中Activity的生命周期,包括七个关键方法的作用及其调用时机。此外还介绍了Activity的三种状态:运行态、暂停态及停止态,帮助开发者更好地理解和使用Activity。
495

被折叠的 条评论
为什么被折叠?



