gpt4 book ai didi

android组件和线程,运行哪个线程?

转载 作者:行者123 更新时间:2023-11-30 02:43:10 24 4
gpt4 key购买 nike

android 没有“main”方法,因此 android 应用程序的所有组件,例如 Activity 、内容提供程序都可以由 android 系统运行以响应其他应用程序的请求。

因此,假设几乎在某个时候,两个应用程序请求一个应用程序的两个组件。

我的问题是那些组件是在一个线程还是不同线程中运行?

最佳答案

操作系统和应用程序之间的大多数交互都在主线程(也称为 UI 线程)上运行。无论应用同时收到多少“请求”,所有“请求”都由主线程中的循环程序处理。

您可以从您应用中的任何线程向这个主线程循环器添加任务:

Runnable task = buildYourTask();
new Handler(Looper.getMainLooper()).post(task);

[更新]
这是来自 android developer documentation :

The system does not create a separate thread for each instance of a component. All components that run in the same process are instantiated in the UI thread, and system calls to each component are dispatched from that thread. Consequently, methods that respond to system callbacks (such as onKeyDown() to report user actions or a lifecycle callback method) always run in the UI thread of the process.

关于android组件和线程,运行哪个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25472976/

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