Android Activity 的流程和基本概念

   # 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的时候。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,827评论 25 709
  • 一、继承结构 java.lang.object-->android.content.Context-->and...
    supory阅读 5,317评论 1 3
  • [亲子阅读1000天---第116天]一眨眼,小宝就出生46天了。怀他时经历的种种还历历在目,怀孕三十多天时大出血...
    水草凤阅读 1,579评论 0 1
  • 今天参加吉林大学十佳学生的报告会,觉得他们真的很优秀,但是好像是自己可望不可及的,或许自己的优秀与他们不会相同,自...
    你是夏日的阳光阅读 1,183评论 0 0
  • 你长大,她老去, 相背而去,再也无法逆转; 你离开,她目送, 渐行渐远,随风四散。 世间一切的缘分似乎都是从相识到...
    二更阅读 4,592评论 2 5