Android启动模式:singleTask的深究--其真正含义的解读之app间试验研究2

来源:互联网 发布:比较好用的浴帽知乎 编辑:程序博客网 时间:2024/05/22 06:53
试验2:app2.C是singleTask模式,调用顺序:app1.MainActivity-->app2.C ,home键盘,app2.MainActivity-->app2.C

**app1启动**
app1===MainActivity.onCreate   --myPid--15327--threadId--1--getTaskId--106--isTaskRoot--trueapp1===MainActivity.onResume   --myPid--15327--threadId--1--getTaskId--106--isTaskRoot--trueapp1===MainActivity.onPause    --myPid--15327--threadId--1--getTaskId--106--isTaskRoot--trueapp2===C           .onCreate   --myPid--15342--threadId--1--getTaskId--107--isTaskRoot--trueapp2===C           .onResume   --myPid--15342--threadId--1--getTaskId--107--isTaskRoot--true
**home键盘**app2===C           .onStop     --myPid--15342--threadId--1--getTaskId--107--isTaskRoot--true
**app2启动**app2===C           .onResume   --myPid--15342--threadId--1--getTaskId--107--isTaskRoot--true

可见:1、app1启动的C创建了一个新的task(和app2关联),且为task的根部
   2、当app2再次启动时并未从主入口MainActivity启动,而是直接打开了task的中的根C页面

小结:

如果一个Activity是singleTask启动模式,其他应用启动的时候,如果此Activity关联的app有对应的task,就会在此task内启动。
如果此Activity关联的app无对应的task,则其他应用启动此Activity的时候,就会新建一个task,属于其所在的app;当此app启动时候就会因为此Activity在task根部而不会从主入口进入,直接显示根Activity。
0 0
原创粉丝点击