首页 > 编程语言 > 详细

对activity生命周期的语言描述

时间:2014-12-27 02:18:29      阅读:318      评论:0      收藏:0      [点我收藏+]

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

对activity生命周期的语言描述

原文:http://hit-me.iteye.com/blog/2170480

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!