在我的应用程序中,我们正在创建一个通过蓝牙打印机进行打印的线程。它在调试模式下工作正常,但在发布模式下它给出了 ANR 错误。我正在从服务启动线程。我正在使用以下代码:
@Override
public void start() {
super.start();
while (!threadInitOK); // it is getting stuck here
}
@Override
public void run() {
Looper.prepare();
mLooper = Looper.myLooper();
if (null == mLooper)
Log.v(TAG, "mLooper is null pointer");
else
Log.v(TAG, "mLooper is valid");
workHandler = new WorkHandler();
threadInitOK = true;
Looper.loop();
}
在棒棒糖版本中,它工作正常,它只是在 Marshmellow 版本中出现问题,在发布模式下也是如此。