Android之四大组件之一-Activity(一)


1.Activity简介:

Activity是Android应用的重要组成单元之一,另外三个是Service,BroadcastReceiver,ContentProvider.而Activity又是Android应用最常见的组件之一。
Activity是应用程序的表现层,应用程序中的每个屏幕显示都通过继承和扩展基类Activity来实现的.
一个应用程序中可以包含多个Activity,它们之间可以相互跳转,来达到手机屏幕之间的相互切换。
Activity利用View来实现应用程序的图形用户界面(GUI),而手机用户则直接通过GUI和应用程序进行交互,如应用程序通过GUI向用户显示信息,用户通过GUI向应用程序发出指令和响应。


2.Activity使用的步骤:

(1)创建Activity,创建类继承Activity或其子类
(2)配置Activity
   必须显式在Manifest配置文件<application>中
   为其添加<activity>,为<activity>配
   置android:name属性,值为.className


3.Activity栈
Android系统中,所有的Activity被保存在Activity栈中,
当启动一个新的Activity时,这个Activity就被压入Activity栈顶部,如果用户通过”返回”键回到上一个Activity的界面,那么栈顶的Activity将会被弹出,之前位于栈顶的第二个Activity就变成为新的栈顶Activity,并显示在屏幕上。所以当前显示在用户面前的Activity都是栈顶元素。

4.Activity生命周期
Activity的生命周期是指一个Activity从创建到销毁的过程,期间可能经历多个状态的变化,每次状态的变化都会触发相应的回调方法。


注意说明:
(Activity创建配置完成之后,至于该Activity何时被实例化,它的方法何时被调用,Activity何时结束等,对开发者来是完全透明的。而是由android系统决定的。
Activity的回调机制:当Activity被部署在Android应用中之后,随着应用程序的运行,Activity会不断地在不同的状态之间切换,该Activity中特定的方法就会被回调----开发者就可以选择性的重写这写方法来加入业务相关的处理)

当Activity处于Android应用中运行时,它的活动状态由Android以Activity栈的形式管理。当前活动的Activity位于栈顶,随着不同应用的运行,每个Activity都有可能从活动状态转入非活动状态,也可能从非活动状态转入活动状态。所以将Activity生命周期分为四个阶段:

运行状态:可见,并且可操作
(onCreate--onStart---onResume)
        (onRestart--onStart---onResume)
暂停状态:可见,但是不可操作  onPause
停止状态:不可见,并且也不可操作 onStop
销毁状态:该Activity结束,或Activity所在的Dalivik进程被结束   onDestory


回调函数:
onCreate():Activity在实例化过程被调用,进行创建工作,只会调用一次.
   一般创建界面,做一些数据的初始化工作。
onStart():Activity启动过程的回调函数,可见
onResume():恢复Activity时被回调,onStart()方法后一定会回调该方法,可操作
onPause():暂停Activity时被回调(Activity失去操作焦点,但可见)
 系统会停止动画等消耗CPU的事情。
 应该在这里保存你的一些数据,因为这个时候你的程序的优先级降低,
 有可能被系统收回。在这里保存的数据,应该在onResume里读出来。
onStop():停止Activity时被回调(Activity失去操作焦点,不可见)
onDestory():销毁Activity时被回调,该方法只会被调用一次(回收资源)
            这是Activity被kill前最后一个被调用方法了。
注意说明:
(开发Activity时也可根据需求选择性地覆盖指定方法,其中最常见的就是覆盖onCreate()方法,该方法用于对该Activity执行初始化。此外,覆盖onPause()方法也是很常见。比如用户正在玩一个游戏,此时有电话进来,就需要当前游戏暂停,并保存该游戏的进行状态,接下来当用户再次切换到游戏状态时,onResume()方法已经被回调,因此可以重写该方法来回复游戏状态)


5.Activity生命周期的三种状态:
1)Activity完整的生命周期
指从调用onCreate()创建Activity到最终调用onDestroy()销毁Activity的过程
onCreate()-->onStart()--->onResume()-->onPause()-->onStop()-->onDestory()
2)可见Activity的生命周期
指从调用onStart()/onRestart()开始到调用onStop()结束的过程
onStart()/onRestart()-->onResume()-->onPause-->onStop()
3)活跃Activity的生命周期
指从调用onResume()到调用onPause()暂停的过程
onResume()-->onPause()


6.Activity生命周期的几个过程,下面细说几个过程:
1.启动Activity:系统会先调用onCreate方法,
               然后调用onStart方法,最后调用onResume,
      Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,
自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入暂停状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,
然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,
系统内存不足,杀死当前Activity,而后用户退回当前Activity:
再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,
  最后调用onDestory方法,结束当前Activity。


7.销毁Activity的情况:
  1)点击回退按钮会销毁Activity。
     触发onDestroy().
  2)使用finish()手动销毁Activity。
  3)处在暂停,停止状态下的Activity也有可能
  被系统kill掉。导致Activity被销毁。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值