1

我真的有点困惑。当它说

具有singleInstance启动模式的活动使用单例模式,该实例将成为新任务的根活动

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

4

2 回答 2

1

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

不,不是的。

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

您可以在此处找到有关 Android 线程模型的好读物

于 2014-08-07T18:14:21.790 回答
1

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

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

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

不,所有活动都存在于主线程中,您应该只在那里与它们交互。混淆来自于这个词的使用,task在这种情况下它不是指线程。它指的是一组活动。在官方文档中有一个关于这个主题的有用参考。

于 2014-08-07T18:18:09.960 回答