Android学习笔记一 Acitivity的生命周期与启动模式

2017-11-10  本文已影响0人  link的勇气

一、Activity生命周期

1.onStart和onStop是从Activity是否可见这个角度来回调的,而onResume和onPause是从Activity是否位于前台这个角度回调的。

2.旧activity的onPause先调用,然后新的Activity才启动,因此应避免在onPause中做耗时操作。

二、启动模式:

1.singleTask

使用该模式的Activity启动时,系统会先检查是否有它需要的任务栈,如果没有,将创建它需要的任务栈并把它放入该栈。

如果有:没有实例,则创建并放入栈顶,有实例,把栈中它之上的activity都出栈,相当于自带clearTop效果。

2.singleInstance

生成一个新栈,放入其中,并保持在该栈只有一个实例

如果它启动的activity设置了taskAffinity和它一样,可以加入该栈中

关于隐式Intent:

1.Activity必须加上<category android:name="android.intent.category.DEFAULT"/>才能接收隐式Intent。

1.一个activity可以有多个action,Intent的action必须存在且和过滤规则其中一个相同,也可以有多个category,intent可以没有category,但如果有,就必须能匹配上activity的category其中一个,至于data,由mimeType和URI组成,如果不设置URI,默认匹配content或file。

上一篇下一篇

猜你喜欢

热点阅读