使用singleInstance launchMode和一个新线程的活动

时间:2014-08-07 18:01:03

标签: android multithreading android-intent android-activity launchmode

我真的有点困惑。什么时候说

使用 singleInstance 启动模式的活动使用单例模式,该实例将是新任务的根活动

当它说新任务时,是否意味着启动活动将在新的线程中执行??? 或者android系统只使用标志使用主线程

中的数据结构在内部控制活动导航

2 个答案:

答案 0 :(得分:1)

  

是否意味着启动活动将在新线程中执行?

不,不。

所有应用程序的活动(以及服务和接收者)都在在一个线程上执行,称为主线程。

您可以在Android线程模型here.

上找到一个很好的阅读材料

答案 1 :(得分:1)

  

使用singleInstance启动模式的活动使用单例模式

这是误导。无论启动模式如何,活动都应该从不被视为单身人士。是的,使用singleInstance时只有一个Activity实例,但仍然会发生正常的Activity生命周期,并且保持对任何Activity的静态引用是不安全的。

  

当它说新任务时,是否意味着启动活动将在新线程中执行???

不,所有活动都存在于主线程中,您只应在那里与它们进行交互。混淆来自于task这个词的使用,在这种情况下并不涉及线程。它指的是一组活动。官方文档中有useful reference concerning this subject