Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代码执行在HandlerThread中中断了几次_Java_Android_Jvm_Cpu_Android Handlerthread - Fatal编程技术网

Java 代码执行在HandlerThread中中断了几次

Java 代码执行在HandlerThread中中断了几次,java,android,jvm,cpu,android-handlerthread,Java,Android,Jvm,Cpu,Android Handlerthread,我有一个奇怪的问题。handlerthread中有代码执行中断。环境是安卓系统的汽车机器。在这个项目去年的测试中,我已经遇到了五次以上的问题。但是看到日志,我不知道这个问题的原因 谁知道这个问题的原因?它是由JVM或Android handlerthread或CPU引起的,为什么 由于项目代码复杂,问题简单代码和现象如下: //init logic code HandlerThread ht = new ThandlerThread("sample"); ht.start(); Han

我有一个奇怪的问题。handlerthread中有代码执行中断。环境是安卓系统的汽车机器。在这个项目去年的测试中,我已经遇到了五次以上的问题。但是看到日志,我不知道这个问题的原因

谁知道这个问题的原因?它是由JVM或Android handlerthread或CPU引起的,为什么

由于项目代码复杂,问题简单代码和现象如下:

 //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");
 }
通常和大多数情况下,测试方法可以很容易地执行。在执行测试方法时,有时可能会“执行测试开始”日志打印,但在该代码的逻辑不执行之后,或者“测试日志2”日志打印,但“执行测试结束”,或者“在b之前”打印,但simpleB方法和后台代码不执行。这不是日志丢失,因为您可以分析代码,执行的ui和数据保持不变。 cpu信息为飞思卡尔半导体IMX6QP