线程处理如何在Android中显示?

时间:2012-08-08 07:57:54

标签: android multithreading pthreads

我在android中显示了一个基本问题。我无法理解调用某些显示函数时线程的行为方式。具体来说,假设我创建了一个用于在Android手机屏幕上显示缩略图图像的线程。

1 - 我的问题是,即使在调用显示功能之后(即在图像显示开始后),该线程仍将保持活动状态,还是会进入某些空闲或睡眠模式?

2 - 显示功能的确切工作原理

3 个答案:

答案 0 :(得分:0)

在Android应用程序中,主线程或称为ui-thread负责绘制/更新UI。你不能在工作线程中进行ui操作。

有一些方法可以从工作线程发布ui更新。 如果你在工作线程或异步任务中有活动实例,你可以发布activity.runOnUiThread(Runnable action),它将在ui线程上运行Runnable。

答案 1 :(得分:0)

您无法直接从任何工作线程更新UI。您需要在UI线程上执行此操作。为此,android为我们提供了Handler和AsyncTask,它们接受来自工作线程的值并更新主线程中的UI。对UI的任何更新只能从主线程完成,即活动开始时创建的线程。

因此,当您使用处理程序或AsyncTask从工作线程更新UI时,工作线程将继续运行(如果需要完成更多工作),除非您销毁它。 UI线程(主线程)也同时运行。因此,主线程已准备好处理主线程上发生的任何UI事件(例如,单击事件)。

这就是线程从根本上运作的方式。你只需要知道在android中,你需要在你想要更新UI的时候控制主线程。

答案 2 :(得分:0)