小萌新准备学安卓,最近在读《第一行代码》,感觉作者写的好朗朗上口,清晰明了啊~连玩带学的看了两章,记个笔记以后翻出来看看改改~嘻嘻
基本知识
Activity是安卓四大组件之一,它是展现在用户面前的组件,类似于jsp。
Android讲究逻辑视图分离,每个活动对应一个视图,视图写在app->src->main->res->Layout中
逻辑写在src->java->包名中
每个Activity都要在AndroidManifest.xml中注册
生命周期
Android用任务(Task)管理活动, 每个活动都会被放在返回栈中, 当前活动即为棧顶元素。
每个活动有四种状态:
- 运行状态(棧顶)
- 暂停状态
- 停止状态
- 销毁状态(出棧)
对应于八种生存状态:

其中onDestroy() 和 onCreate() 对应
onPause 和 onResume对应
onStop后会先Restart再start
活动四种启动模式
在AndroidManifest.xml中为activity标签指定android:launchMode选择启动模式
<activity android:name=".DialogActivity"
android:launchMode="singleTop">
</activity>
- standard
- 每次启动activity都在棧顶插入
- singleTop
- 待打开的activity在棧顶时不会重复插入,但是当前棧顶元素不是该活动时,再次调用会重复插入
- 适用通知栏启动页面场景,或者比如在线支付流程, 中间可能要跳N个页面, 而按返回键应该需要返回支付流程的前一个activity。
- singleTask
- 只要棧中有该activity就不会被重复插入
- 适用首页场景
- singleInstance
- 被指定为singleInstance的活动,当被调用时会放到一个新的棧中。
- 一般每个应用程序都有一个自己的返回棧,通过这个方式可以实现多个程序共享同一个活动。
- 适用小程序、闹钟、通讯录页面场景