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被销毁。