处理程序构造函数在Android中停止线程
发生了一些奇怪的事情。我不能显示所有的代码,但情况是这样的处理程序构造函数在Android中停止线程,android,multithreading,handler,Android,Multithreading,Handler,发生了一些奇怪的事情。我不能显示所有的代码,但情况是这样的 Runnable program = new Runnable() { @Override public void run() { //This code is running new Handler(); //This code not running }}; new Thread(program).start(); 日志没有显示任何内容。主线程工作正常。您应该始终在
Runnable program = new Runnable() {
@Override
public void run() {
//This code is running
new Handler();
//This code not running
}};
new Thread(program).start();
日志没有显示任何内容。主线程工作正常。您应该始终在UI线程中声明
处理程序
。您需要为处理程序
提供来自某个线程的循环器。从主UI线程:
Handler mHandler = new Handler(Looper.getMainLooper());
Handler
始终在Looper
线程上下文中运行。创建另一个线程时,其上下文与活套
不同。正确的解决方案是声明处理程序总是在onCreate()
,onStart()
和onResume()
您应该总是在UI线程中声明处理程序。您需要从某个线程向处理程序提供一个循环器。从主UI线程:
Handler mHandler = new Handler(Looper.getMainLooper());
Handler
始终在Looper
线程上下文中运行。创建另一个线程时,其上下文与活套
不同。正确的解决方案是声明处理程序总是在onCreate()
、onStart()
和onResume()
创建处理程序
首先需要在该线程上进行循环器
轮询。顺便说一下,通常不需要在非UI线程内创建处理程序。在runnable外部创建一个处理程序。一个更简单的替代方法是使用runOnUiThread()
方法。创建处理程序
首先需要在该线程上使用循环器
轮询。顺便说一下,通常不需要在非UI线程内创建处理程序。在runnable外部创建一个处理程序。一个更简单的替代方法是使用runOnUiThread()
方法。试试看,你的问题是…?试试看,你的问题是。。。?