android回顾之一 Activity与Intent
2017-12-25 本文已影响0人
一个老千
Intent
-
Intent是Activity,Service和BroadcastReceiver这三个应用组件之间进行通信的信使,但是Intent不是Android中的四大应用组件之一
-
显示意图与隐式意图
- 显示意图 :明确指定的目标组件的意图
Intent(Context context,Class clazz),当操作当前自己应用的组件时使用
- 隐式意图 :没有明确指定目标组件的意图
Intent(String,action),当操作其它应用的组件时使用
- IntentFilter
你想启动其它应用的界面时必须使用隐式意图, 并且目标界面Activty配置了<intent-filter>,典型的是进入MainActivity界面的时的配置
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Activity
- 生命周期
具体不多说,建议参考
https://www.jianshu.com/p/fb44584daee3
值得注意的是,横竖屏切换时,activity会先被销毁,再重新从onCreate方法执行。
- launchMode
- standard: 标准模式,每次调用startActivity()方法就会产生一个新的实例。
- singleTop: 如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例;如果不位于栈顶,会产生一个新的实例。
- singleTask: 只有一个实例, 默认在当前Task中。如果再次打开activity,会清空中间的activity,因为只有栈顶才能被看到。
- singleInstance: 只有一个实例, 创建时会新建一个栈, 且此栈中不能有其它对象。