Android应用程序组件Activity的特点有哪些
这篇文章主要介绍"Android应用程序组件Activity的特点有哪些",在日常操作中,相信很多人在Android应用程序组件Activity的特点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android应用程序组件Activity的特点有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
注意,这里我们设置MainActivity的taskAffinity属性值为"shy.luo.task.main.activity",
设置 SubActivity的taskAffinity属性值为"shy.luo.task.sub.activity"。
重新编译一下程序,在模拟器上把这 个应用程序再次跑起来,
用"adb shell dumpsys activity"命令再来查看一下系统运行的的任务,就会看到:
[html] view plaincopyRunning activities (most recent first): TaskRecord{4069c020 #4 A shy.luo.task.sub.activity} Run #2: HistoryRecord{40725040 shy.luo.task/.SubActivity} TaskRecord{40695220 #3 A shy.luo.task.main.activity} Run #1: HistoryRecord{406b26b8 shy.luo.task/.MainActivity} TaskRecord{40599c90 #2 A com.android.launcher} Run #0: HistoryRecord{40646628 com.android.launcher/com.android.launcher2.Launcher}
这里就可以看到,SubActivity和MainActivity就分别运行在不同的任务中了。
设置了"singleTask"启动模式的Activity的特点:
1. 设置了"singleTask"启动模式的Activity,它在启动的时候,会先在系统中查找属性值affinity等于它的属性值 taskAffinity的任务存在;如果存在这样的任务,它就会在这个任务中启动,否则就会在新任务中启动。因此,如果我们想要设置 了"singleTask"启动模式的Activity在新的任务中启动,就要为它设置一个独立的taskAffinity属性值。
2. 如果设置了"singleTask"启动模式的Activity不是在新的任务中启动时,它会在已有的任务中查看是否已经存在相应的Activity实 例,如果存在,就会把位于这个Activity实例上面的Activity全部结束掉,即最终这个Activity实例会位于任务的堆栈顶端中。
到此,关于"Android应用程序组件Activity的特点有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!