Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中线程如何处理显示?_Android_Multithreading_Pthreads - Fatal编程技术网

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

在Android中线程如何处理显示?,android,multithreading,pthreads,Android,Multithreading,Pthreads,我有一个关于android的基本问题。我无法理解调用某个显示函数时线程的行为。具体来说,假设我创建了一个线程,用于在android手机屏幕上显示缩略图 1-我的问题是,即使在调用显示功能(即图像显示开始后)后,该线程是否仍保持活动状态,或者它是否会进入空闲或睡眠模式 2-显示功能的具体工作方式在Android应用程序中,主线程(称为ui线程)负责绘制/更新ui。不能在工作线程中执行ui操作 不过,您可以通过一些方法从工作线程发布ui更新。 如果工作线程或异步任务中有活动实例,则可以发布activ

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

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


2-显示功能的具体工作方式在Android应用程序中,主线程(称为ui线程)负责绘制/更新ui。不能在工作线程中执行ui操作

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

您不能直接从任何工作线程更新ui。要做到这一点,您需要在UI线程上。为此,android为我们提供了处理程序和AsyncTask,它们接受来自工作线程的值并更新主线程中的UI。只能从主线程(即活动启动时创建的线程)对UI进行任何更新

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


这就是线程的基本工作原理。你只需要知道,在android中,每当你想更新UI时,你都需要控制主线程。

如果不知道代码机制,没有人可以说,如何显示方法工作。那么你的意思是主线程始终处于活动状态,显示图像?不确定活动暂停后UI线程是否处于活动状态,但我确信一旦活动被破坏,它就不会被激活。