Java 未调用Looper.loop,但处理程序中的代码仍在执行
我试图了解looper.loop是如何工作的,以及何时在代码中使用它。 我有一个绑定服务,它有一个runnable。里面有一个处理程序,用于保存更新Ui的代码。这是代码Java 未调用Looper.loop,但处理程序中的代码仍在执行,java,android,looper,Java,Android,Looper,我试图了解looper.loop是如何工作的,以及何时在代码中使用它。 我有一个绑定服务,它有一个runnable。里面有一个处理程序,用于保存更新Ui的代码。这是代码 private Runnable builder = new Runnable() { public void run() { while(isThreadStarted == true) { if (newgps == 1) { Handler handler = new Ha
private Runnable builder = new Runnable() {
public void run()
{
while(isThreadStarted == true)
{
if (newgps == 1)
{
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
public void run() {
//some code that updates UI
}
}
}
}
}
looper.prepair
}
处理程序
与UI线程关联,因为您将其附加到Looper.getMainLooper()
。UI线程在应用程序启动时准备它的活套
,因此应用程序不必自己做任何事情。通过使用Looper.getMainLooper()
,您将获得主线程的处理程序
,并在主线程上发布。创建主线程时,系统已准备好其活套