System.currentTimeMillis() 和 System.nanoTime();

             做开发的时候遇到一个问题,由于对状态栏进行了重写,在零点几毫秒内的反复点击不再进行处理,用到了这样一个判断

       

                long time = System.currentTimeMillis();
                //Log.d("test","time====>"+time);
                if (time - lastPauseTime <500) {
                           
                    return;
               
                }
                
               lastPauseTime = time;


               其中lastPauseTime是全局的。


               问题就出现在这里,当用户修改了系统时间后,可能导致这个判断出错。if语句里的判断可能会一直成立就导致程序不能响应按键了。

               查看了下api发现还有这样一个方法System.nanoTime(); 主要是用来计时的。试了下,还比较OK。

              


你可能感兴趣的:(api)