2018-01-26小米手机while循环不执行bug修复存疑

在lz最近的Android开发过程中遇到了一件很神奇的事情,唯独小米的手机会发生这种情况,我在接受服务器的数据时开了一个线程去接受数据,其中加了一个while循环,当我们第一次执行的时候它不会出错,刚开始以为是自己的代码错误,但是第二次执行的时候它就不执行了代码如下:

//客户端向服务器发送数据及返回数据

    @RequiresApi(api = Build.VERSION_CODES.KITKAT)

    public Map send(String jsonlogin){

        cs.setNeedMessage(null);

        send=new String[4];

        map=new HashMap();

        String re=cs.send(jsonlogin);

        //判断发送数据

        if(re.equals("发送异常:")){

            send[0]=re;

            map.put("order","发送异常:");

        }else{

            send[0]=re;

            //System.out.println("send[0]-----"+send[0]);

            while (true){

                if (cs.getNeedMessage()!=null) {

                    String a=cs.getNeedMessage();

                    map=JsonToEntity.RoomJSON(a);

                    break;

                }

            }

        }

        return map;

    }

}

其中加粗的部分就是我们用打桩输出的时候找到问题的所在,而且神奇的事情就在这个时候发生了,当我们在while(true){}的开始加上一段输出后,这个问题就解决了,而且是随便输出什么都可以!!即使这样都可以,不知道有没有大神能解释一下为什么.

  while (true){

                if (cs.getNeedMessage()!=null) {

                    System.out.println("");

                    String a=cs.getNeedMessage();

                    map=JsonToEntity.RoomJSON(a);

                    break;

                }

            }

你可能感兴趣的:(2018-01-26小米手机while循环不执行bug修复存疑)