黑马程序员_Android-Activity的生命周期与Task初步

---------------------- android培训java培训、期待与您交流! ---------------------

1:Activity的七个生命周期函数

      onCreate(); Activity第一次创建时调用   在onCreate();方法里我们
可以设置Activity使用的布局文件,绑定监听器等

      onStart(); 当Activity能被我们看到时调用
     
    onRestart(); 在一个Activity被重新启动之前调用

      onResume(); 当Activity能获得用户焦点时调用(用户可以操作时)

    onPause(); 在一个Activity调用另外一个Activity时,第一个Activity会调用这个方法 暂停一切动作,我们应该在这个方法里将第一个Activity正在操作的数据保存起 来,再回到这个Activity时数据才会恢复,将原来的Activity还原回来

onStop(); 当 一个Activity处于不可见的状态下,就会调用这个方法,比如一个Activity完全遮盖了另外一个Activity时,但是如果不是完全被遮盖不会调用

onDestroy(); 当一个Activity被销毁时调用
通常有两种情况onDestroy();会被调用:
(1)在一个Activity中明确的调用了finish();方法
(2)当android的系统资源不够用时,并且这个Activity不可见(优先级较低)时


2:Activity处于不同状态时会调用这七个生命周期函数的某一个或某几个
(1):启动一个新的Activity android的操作系统会依次调用 onCreate(); onStart(); onResume();这三个方法
(2):在一个Activity中启动另外一个Activity时会依次调用  第一个Activity的onPause(); 第二个Activity的onCreate(); 第二个Activity的onStart(); 第二个Activity的onResume(); 第一个Activity的onStop();
   当第二个Activity是对话框风格时会依次调用   第一个Activity的onPause(); 第二个Activity的onCreate(); 第二个Activity的onStart(); 第二个Activity的onResume();
(3):返回第一个Activity会依次调用  第二个Activity的onPause(); 第一个Activity的onRestart(); 第一个Activity的onStart(); 第一个Activity的onResume(); 第二个Activity的onStop();(); 第二个Activity的onDestroy();
    当第二个Activity是对话框风格时会依次调用  第一个Activity的onResume

3:Task的基本概念
Task是一个存放Activity的栈,遵循后进先出的规则,有且只有压栈和弹栈两个动作,就是把Activity对象压入或弹出栈

4:Activity和Task之间的关系
手机显示的永远都是栈顶部Activity,Task可以把不同应用程序的Activity组织成一个单元 当Task中有a,b,c三个依次的Activity时,当执行b启动c时,并且销毁b,c如果返回,则会直接跳到a


5:对话框风格Activity的使用方法
对话框风格Activity与正常Activity在代码编写上没有任何区别,它们区别于在AndroidManifest.xml中的声明
对话框风格Activity会有一个theme的属性,这个属性中会指定它的风格为对话框风格
例:android:theme="@android:style/Theme.Dialog"


注意:当手机系统中的资源不够用时,android系统会自动关闭不重要的Activity,但只有Activity是onPause(); onStop(); onDestroy(); 系统才会关闭,而onPause();状态系统会考虑Activity是否可见才会选择关闭

---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值