Android中主线程的需求是什么?

时间:2017-03-24 06:34:06

标签: android

我知道Android应用程序在主线程中运行意味着UI线程。我想知道主线程需要什么来运行应用程序?如果我们不使用主线程运行app会发生什么。为什么需要主线程?

2 个答案:

答案 0 :(得分:3)

嗯,它需要一个线程。每个编写的应用程序都至少有一个 - 即使是最简单的Hello World应用程序也是最简单的语言。线程只是在处理器上运行的一系列指令。因此,即使您的应用程序根本没有多线程,它运行的一系列指令也是一个线程 - 如果您愿意,您甚至可以将其称为主线程。因此,根本不可能没有主线程。

Android中主要线程的特殊之处在于,您只能更改其上的可见元素。如果Android没有这个限制,你就有可能出现竞争条件和不一致的用户界面 - 一个线程上的视图被更改而另一个线程正在绘制到屏幕上的可能性。为了防止这种情况,您需要进行大量的手动锁定。相反,Android决定只在主线程上允许这些更改。这可以防止大量的计时错误和竞争条件(尽管不是全部,取决于您如何实施模型)。

答案 1 :(得分:2)

来自this link

主线程有什么需要?

  

首次启动Android应用程序时,运行时系统会创建一个单独的线程,默认情况下将运行所有应用程序组件。该线程通常称为主线程。主线程的主要作用是在事件处理和与用户界面中的视图交互方面处理用户界面。默认情况下,在应用程序中启动的任何其他组件也将在主线程上运行。

为什么需要主线程?

  

应用程序中使用主线程执行耗时任务的任何组件都将导致整个应用程序在任务完成之前锁定。这通常会导致操作系统向用户显示“应用程序无响应”警告。显然,这远非任何应用程序所需的行为。在这种情况下,只需通过启动要在单独线程中执行的任务,允许主线程继续不受其他任务的阻碍,就可以避免这种情况。

请参阅链接以了解有关主线程的更多信息。

有关详情,请点击this link

相关问题