gpt4 book ai didi

android - Android应用程序上的 Activity 和线程有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:04 25 4
gpt4 key购买 nike

我对 android 应用程序中 Activity 和线程之间的区别感到困惑。那么一个activity是不是像一个独立的线程呢?如果可以,多个 Activity 可以在多线程应用程序中同时运行吗?

谢谢

最佳答案

我相信您可能已经阅读了 What is an Activity? 的文档前。如果没有,那么请做。在这里您可以阅读更多关于 process and threads 的信息在安卓中。现在,回答您的问题:

activity是独立线程吗?

每个 Activity 都不是一个独立的线程。正如@android.h 在评论中提到的,所有 Activity 都在相同的 UI thread 上运行.

多个 Activity 能否作为多线程应用程序同时运行?

如上所述,所有 Activity、Services、ContentProviders、BroadcastReceivers 等都在 UI 线程上运行。话虽如此,您可以从 Activity 本身内部启动多个线程。因此,您的应用程序可以使用多个线程,但运行多个 Activity 不会使其成为多线程。

关于多项 Activity ,您可能会阅读 Tasks and Back Stack文档。它强调了多项 Activity 的概念:

应用程序通常由多个彼此松散绑定(bind)的 Activity 组成。通常,应用程序中的一个 Activity 被指定为“主要” Activity ,它在第一次启动应用程序时呈现给用户。然后每个 Activity 都可以启动另一个 Activity 以执行不同的操作。每次启动新 Activity 时,前一个 Activity 都会停止,但系统会将 Activity 保存在堆栈中(“返回堆栈”)。当一个新的 Activity 开始时,它被插入返回栈并获得用户焦点。后退栈遵守基本的“后进先出”栈机制,因此,当用户完成当前 Activity 并按下后退按钮时,它会从栈中弹出(并销毁)并恢复前一个 Activity 。所以这就是多 Activity 的工作原理。

希望这能让您的概念更加清晰。

关于android - Android应用程序上的 Activity 和线程有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17332998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com