Android 具有singleInstance启动模式和新线程的活动

Android 具有singleInstance启动模式和新线程的活动,android,multithreading,android-intent,android-activity,launchmode,Android,Multithreading,Android Intent,Android Activity,Launchmode,我真的有点困惑。当它说 带有singleInstance启动模式的活动使用singleton模式,该实例将是新任务的根活动 当它说新任务时,这是否意味着启动活动将在一个新的线程中执行?或者android系统只是使用标志在主线程内的数据结构内部控制活动导航 这是否意味着启动活动将在新线程中执行 不,没有 所有应用程序的活动(以及服务和接收器)都在称为主线程的单个线程上执行 你可以找到一本关于Android线程模型的好书 具有singleInstance启动模式的活动使用singleton模式 这是

我真的有点困惑。当它说

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

当它说新任务时,这是否意味着启动活动将在一个新的线程中执行?或者android系统只是使用标志主线程内的数据结构内部控制活动导航

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

不,没有

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

你可以找到一本关于Android线程模型的好书

具有singleInstance启动模式的活动使用singleton模式

这是误导。无论启动模式如何,活动都不应被视为单例。诚然,使用
singleInstance
时,只有一个活动实例,但正常的活动生命周期仍然存在,保持对任何活动的静态引用是不安全的

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

不,所有活动都位于主线程中,您应该只在那里与它们进行交互。混淆源于单词
task
的使用,在本例中,它不指线程。它指的是一组活动。在官方文件中有一个错误