Выполнение кода несколько раз прерывалось в HandlerThread - PullRequest
1 голос
/ 26 февраля 2020

У меня странная проблема. В обработчике прерывается выполнение кода. Окружающая среда - автомобильная машина системы Android. Во время прошлогоднего тестирования этого проекта я сталкивался с проблемой более пяти раз. Но посмотрите журнал , Я не могу понять причину этой проблемы。

Кто знает причину этой проблемы? Это вызвано JVM или Android обработчиком или процессором и почему?

Поскольку код проекта завершен, простыми кодами проблемы и явлением являются следующие:

 //init logic code
 HandlerThread ht = new ThandlerThread("sample"); 
 ht.start();
 Handler handler = new Handler(ht.getLooper()){
    @Override
    public void handleMessage(Message msg) {
        switch (msg.what){
        case 1:
           test();
        break;
    }
 };
 //send message logic
 Message message = handler .obtainMessage();
 message.what= 1;
 handler .sendMessage(message);
 //test method impl
 public void test(){
    Log.d("test","execute test start");
    Log.d("test","before a");
    simpleA();//some operation very simple and you can know this method whether execute by log and 
    app’s ui state
    //some log
    Log.d("test","after a");
    Log.d("test","before b");
    simpleB()
    Log.d("test","after B");

    Log.d("test","test log1");
    Log.d("test","test log2");
    Log.d("test","execute test end");
 }

Номинально и Большую часть времени method метод теста может очень легко выполнять извинения. Иногда, когда метод теста выполняется, он может «запустить запуск теста», но после того, как logi c этого кода не будет выполнен, или «test log2» напечатает журнал, но «выполнить тест» end ", или" before b "печатать, но метод simpleB и код позади не выполняются. Это не ошибка журнала, потому что вы можете анализировать выполнение кода, оставаясь неизменным с пользовательским интерфейсом и данными. Информация о процессоре: Freescale Semiconductor IMX6QP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...