Android知识

Android Activity 的流程和基本概念

2016-10-03  本文已影响228人  遗忘的流逝
   # 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的时候。

在下只是一个新手,如有错处请指出 谢谢

上一篇下一篇

猜你喜欢

热点阅读