`
suuu
  • 浏览: 16399 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Android学习笔记(二)Activity生命周期、task、对话框风格的Activity

阅读更多

Android学习笔记(二)Activity生命周期、task、对话框风格的Activity

Activity的七个生命周期函数:

public class Activity extends ApplicationContext {       
protected void onCreate(Bundle savedInstanceState);        
protected void onStart();            
protected void onRestart();        
protected void onResume();        
protected void onPause();        
protected void onStop();        
protected void onDestroy();  }  
  

onCreate();

当Activity第一次被创建的时候,就会调用OnCreate()方法,在OnCreate()方法中,通常要设置Activity所使用的布局文件,对按钮绑定监听器等等静态的设置操作。

 onStart();

当Activity能被我们看到的时候,就会调用onStart()方法。

onResume();

当这个Activity能够获得用户焦点(即用户在屏幕上进行操作的时候),

onPause();

当第一个Activity通过Intent启动第二个Activity的时候,则会先调用前一个Activity的onPause()方法,然后第一个Activity就暂停,接着就运行第二个Activity中的onCreate();onStart();onResume();,然后执行前一个Activity中的onStop()方法,将前一个Activity关闭。

用例:如当用户正在发信息,然后电话来了,即信息Activity被电话Activity抢占了,那么就要必须将短信的Activity数据保存,在电话Activity结束后用户可以继续发信息。

原理:当电话Activity来的时候,信息Activity调用onPause()方法,将信息Activity保存,待电话Activity方法结束之后,再还原信息Activity。

onStop();

当第二个Activity把第一个Activity完全遮挡住的时候,即对用户来说第一个Activity处于完全不可见的时候,那么第一个Activity则调用onStop()方法将当前Activity关闭。

onDestory();

此方法将Activity销毁,销毁之后,若想再调用此Activity,则需要从新调用onCreate方法

 

有如下两中情况会进行Activity的销毁:

第一种:如果在第一个Activity中,明确的使用了finish()方法将当前Activity关闭,那么这个Activity就会被销毁掉。

第二种:系统资源不够用的时候,而存在其他的Activity处在用户完全不可见的时候,android操作系统会将不可见的Activity之中优先级最低的销毁掉。

 

PS:当一个Activity调用完onCreate();onStar();onResume()方法之后,就可以显示出这个Activity。

 

二、Task

Task的基本概念:

翻译成中文:任务。

Task就是一个栈,这个栈里面有很多的Activity,遵循后进先出的原则,栈有两个基本动作:压栈、弹栈。

Android学习笔记(二)Activity生命周期、task、对话框风格的Activity

三、对话框Activity

从代码的编写上来讲,与一般的Activity没有什么区别,唯一的区别就是在AndroidManiFest.xml文件中,注册Activity时,在<activity></activity>间加上:android:theme="@andriod:style/Theme.Dialog"即可实现对话框风格的Activity。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics