【发布时间】:2019-08-19 14:45:47
【问题描述】:
我正在尝试了解 Android 任务与“幕后”活动以进行调试(以及我的启发)。许多其他 StackOverflow 答案和 Android 文档以详细但抽象的方式解决了这个问题。他们是什么真的?我的(可能不正确的)理论如下:
(1) “任务”是多线程 Linux 进程,(2) 活动是该进程中的一个线程,用于为活动提供服务。
这是准确的还是我偏离了基地?
2019 年 8 月 21 日更新 到目前为止,大多数答案都没有解决我的问题。它们只是呼应了 Android Doc 中对抽象的描述。我发现 Android 框架极不可能包含 Linux 内核中已经存在的进程管理工具,例如进程、pthread 等。 恕我直言,Android 活动和任务是围绕 Linux 功能的包装器。我很确定我的理论中的(1)是正确的,但我不确定(2)。有没有人真正了解这些抽象背后的原理?
【问题讨论】:
-
“一个“任务”是一个多线程的 Linux 进程”——不。任务更接近于 Web 浏览器选项卡。它是一个回栈活动的记录。 “并且活动是该进程中为活动提供服务的线程” - 不。 Activity 是一个 Java 对象,代表 Android UI 的主要单元。
标签: android android-activity task