`

对activity生命周期的语言描述

 
阅读更多

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的。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics