赞
踩
# Android Activity 的流程和基本概念
在java 中 所有程序的入口时main()函数,而对于android来说,所以程序的开始都是onCreate().一般在android四大组件中,Activity 是最为必要和重要的一个UI展示活动。
An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with[setContentView(View).
Android 系统会通过调用对应于其生命周期中特定阶段的特定回调方法在Activity实例中启动代码。
Activity 是一个显示UI的组件,所有控件的new 或者findViewById()中获得组件的控制权进行各种onClick,以及各种动画操作,包括view的更新是必须在ui主线程中的,在Activity中onCreate()的线程中就是主线程,当然你也可以在不同的Activity状态中对view进行操作。
activity_lifecycle.png
如图,图中是来自google的android activity 的run 的一个示意图,从中我们可以很明白得看见一个activity的几个状态。
并不是所以的activity都会有这几个循环,可以这么说所有的activity都有这几个函数,到activity这个线程结束的这几个状态都会经过,除了onRestart().
onRestart()是什么时候实现的呢?
IPW8IHYQ`SHA6Y{2Z(5HNXO.png
我做了个demo,只要你运行了activity,并用home键,再进入app就会调用这个函数。
Called after your activity has been stopped, prior to it being started again.Always followed by onStart()。
官方的定义是你的anctivity已经调用了onStop(),但没有杀死又重新启动了这个activity。
我的demo中少了个onResume()这个函数。
onResume()这个函数是发生在和用户进行相应的交互的时候,通常是在onPause()后会调用的。而onPause()正如这个英文单词,在这个阶段activity已经暂停了。
Called when the system is about to start resuming a previous activity.
这个是他官方的调用时机。在这个状态下,他是可以回到之前的状态或者将activity进入到不可见的状态。
在这个以前的状态,activity都是no killable,之后便都是yes。
而进行状态的某种数据保留或者存储,在onPause中保留执行存储代码是最合适的如果是必须要在activity快kill的时候。
在下只是一个新手,如有错处请指出 谢谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。