Android 四大组件(一)Activity详解

Android四大基本组件分别是Activity 活动(界面),Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器,他们都在AndroidManifest.xml 中,都有生命周期。

一.Activity 活动界面的生命周期

     onCreate()   创建时调用

     onStrat()      开始时调用

     onResume() 交互时调用,执行完会显示出界面ui

     onPause()    当前页面暂停时调用

     onStop()      当前页面停止时调用

     onDistory()   页面销毁时调用

另外会有一个onRestart()方法,会在页面暂停onPuase,onStop()  之后调用onReStart() ,再进入onStrat()形成一个闭环。

实践是检验真理的唯一标准:我们在测试项目里面看看,在几种常用的情景中,周期方法的调用情况和调用时序

1.正常的进入一个MainActivity:

2.回到手机home主页:

3.从手机home主页,点击应用回到MainActivity:

4.手机锁屏

5.锁屏后解锁重新点亮屏幕

6.进入分屏模式

7.分屏模式回到MainActivity:

8.从MainActivity跳转到SecondActivity

9.从SecondActivity返回到MainActivity

10.屏幕旋转

Android 四大组件(一)Activity详解_第1张图片

请问如果是exception,或者Anr导致应用崩溃,activity的onstop   ondestory 还会调用吗?

答案是不会。

二 .Activity 的四种启动模式:Standard, SingleTop,SingleTask,SingleInstance。

1.Standard:系统默认的标准模式,Activity栈结构管理的,先进后出。

2.SingleTop:栈顶复用,如果在Activity栈的栈顶是这个acitivity,可以复用,不再创建实例。

3.SingleTask:栈内复用,同理,如果Actvity栈中有这个actvity,其他在它上面的Activity出栈,然后复用这个Activity。

4.SingleInstance:会单独将这个activity放在一个栈里面使用。

这里的Activity栈也是其他文章中所说的任务栈,多个app的Activity可以在同一个栈中,一个app的栈也可以在不同的栈中。

你可能感兴趣的:(Android,基础知识整理,android,ui)