В моем приложении мы создаем поток для печати через принтер Bluetooth. он отлично работает в режиме отладки, но в режиме выпуска он дает ошибку 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 версию, которая тоже в освобождении режиме.
Почему бы не использовать HandlerThread вместо реализации нестабильного механизма, подобного этому? – Kelevandos