欢迎来到天天文库
浏览记录
ID:50255413
大小:2.35 MB
页数:40页
时间:2020-03-14
《Android基础--Activity组成原理及应用.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AndroidAndroidAndroidAndroidAndroidAndroidAndroidAndroid基础课程基础课程基础课程基础课程基础课程基础课程基础课程基础课程Activity组成原理本节学习目标::深入理解Activity四种状态以及状态间的转换进一步认识Activity生命周期的含义理解Activity栈的机理以及特性理解Task、Process、Application、Activity、Service的区别掌握Activity配置中几种属性的应用ActivityActivity是什么?一个可视的用户交互接口Activity代表一块系统资源ActivityActiv
2、ity的四种状态Active/Runing一个新Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。ActivityActivity的四种状态Paused状态:当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。ActivityActivity的四种状态Stopped状态:当Activity是不可见的时,Activity处于Stopped状态。Activity将继续保留在内存中保持当前的所有状态和成员信
3、息,假设系统别的地方需要内存的话,这时它是被回收对象的主要候选。当Activity处于Stopped状态时,一定要保存当前数据和当前的UI状态,否则一旦Activity退出或关闭时,当前的数据和UI状态就丢失了。ActivityActivity的四种状态Killed状态:Activity被杀掉以后或者被启动以前,处于killed状态。这时Activity已被移除Activity堆栈中,需要重新启动才可以显示和使用。ActivityActivity的状态转换当一个Activity实例被创建、销毁或者启动另外一个Activity时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的
4、动作。如图说明了Activity在不同状态间转换的时机和条件:ActivityActivity生命周期Activitys在系统中是以堆栈的方式管理的,当一个新的Activity启动时,他就被放到系统task的顶端,变为正在运行的Activity,之前的Activity会继续保存在系统堆栈的下面,直到他上面的Activity都退出后,才会再次变回运行状态。Activity完整的生命周期Activity可见的生命周期Activity活跃的生命周期ActivityActivity生命周期•在android.app.Activity类中,Android定义了一系列与生命周期相关的方法,在我们自
5、己的Activity中,只是根据需要复写需要的方法,Java的多态性会保证我们自己的方法被虚拟机调用,这一点与J2ME中的MIDlet类似。ActivityActivity生命周期protectedvoidonCreate(BundlesavedInstanceState)一个Activity的实例被启动时调用的第一个方法。一般情况下,我们都覆盖该方法作为应用程序的一个入口点,在这里做一些初始化数据、设置用户界面等工作。大多数情况下,我们都要在这里从xml中加载设计好的用户界面。当然,也可从savedInstanceState中读我们保存到存储设备中的数据,但是需要判断savedIns
6、tanceState是否为null,因为Activity第一次启动时并没有数据被存贮在设备中。ActivityActivity生命周期protectedvoidonStart()该方法在onCreate()方法之后被调用,或者在Activity从Stop状态转换为Active状态时被调用。protectedvoidonResume()在Activity从Pause状态转换到Active状态时被调用。protectedvoidonPause()在Activity从Active状态转换到Pause状态时被调用。ActivityActivity生命周期protectedvoidonStop(
7、)Actived状态在->onPause->onStopActivity从->onResumeActive状态转换到Stop状态时被调用。一->onStart->onResume般我们在这里保存->onPauseActivity的状态信息。protectedvoidonDestroy()->onCreate在Active被结Paused状态->onStartStoped状态束时调用,它是被结束时调用的最后一个->onPause->onResum
此文档下载收益归作者所有