Android启动模式:singleTask的深究--其真正含义的解读之app内试验研究
2014-10-31 17:10
260 查看
singleTask启动分析与试验结果(app内研究):
试验1、MainActivity是singleTask启动模式,启动顺序MainActivity-->A,A-->MainActivityMainActivity.onCreate --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--true MainActivity.onResume --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--true A .onCreate --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--false A .onResume --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--false
MainActivity.onNewIntent--myPid--1107--threadId--1--getTaskId--75--isTaskRoot--true MainActivity.onResume --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--true A .onStop --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--false A .onDestroy --myPid--1107--threadId--1--getTaskId--75--isTaskRoot--false可见进程id,线程id,taskid都相同。MainActivity是栈的底部,再次启动MainActivity,进入的是onNewIntent,然后就会杀死位于其上的所有Activity的。
试验2、A是singleTask启动模式,启动顺序MainActivity-->A-->B,B-->A
MainActivity.onCreate --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--true MainActivity.onResume --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--true A .onCreate --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false A .onResume --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false B .onCreate --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false B .onResume --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false
A .onNewIntent--myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false A .onResume --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false B .onStop --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false B .onDestroy --myPid--3827--threadId--1--getTaskId--82--isTaskRoot--false分析如试验1。从结果中可以看出尽管A是singleTask启动模式,但并未创建信的task。而且其也不是task的根部。
总结:
1、singleTask并不是总是新建一个task任务栈,如果此app的栈(不包括singleInstance的任务栈,因为其单独享受一个task)已经存在,就会使用此栈,如果不存在就会创建一个新的task2、Intent.FLAG_ACTIVITY_NEW_TASK 标志的作用同singleTask,所以它的使用结论同1。
3、当singleTask的Activity再次启动时,会清空在其以上的所有Activity,尽管它不是在task的根部。
相关文章推荐
- Android启动模式:singleTask的深究--其真正含义的解读之app间试验研究1
- Android启动模式:singleTask的深究--其真正含义的解读之app间试验研究2
- Android启动模式:singleTask的深究--其真正含义的解读之准备工作
- Android活动Acitivity启动模式之singleTask
- android启动模式之singleTask
- Android小问题:SingleTask启动模式时,activity的生命周期
- Android Activity的生命周期及四种启动模式的联合研究
- "standard,singleTop,singleTask,singleInstance"-Android启动模式图文代码全解析
- Android -- Activity的生命周期,状态保存与恢复,Activity四种启动模式 Standard, SingleTop,SingleTask,SingleInstance
- 【Android】21、活动的启动模式——singleTask
- Android启动模式以及如何通过adb指令查看app当前运行的activity
- Android中判断app何时启动和关闭的技术研究
- Android中判断app何时启动和关闭的技术研究
- Android入门:Activity四种启动模式:standard、singleTop、singleTask、singleInstance
- Android -- Activity的生命周期,状态保存与恢复,Activity四种启动模式 Standard, SingleTop,SingleTask,SingleInstance
- 深刻理解activity启动模式,彻底理解android的四种启动模式,尤其singleTask
- android中Activity的启动模式是singleTask或singleInstance与startActivityForResult,onActivityResult
- Android中判断app何时启动和关闭的技术研究
- Android启动activity的4种模式(standard、singleTop、singleTask、singleINstance)
- Android启动activity的4种模式(standard、singleTop、singleTask、singleINstance)