2
在我的應用程序,我們正在創建一個線程通過藍牙打印機打印。它在調試模式下工作正常,但是釋放模式會導致ANR錯誤。我從服務啓動線程。我使用下面的代碼:線程凍結UI僅在發佈模式下的anroid
@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版本也以發佈模式。
爲什麼不使用HandlerThread而不是實現像這樣的不穩定機制? – Kelevandos