Android 奇怪的睡眠行为

Android 奇怪的睡眠行为,android,Android,因此,我想在将文件上载到服务器之前等待60秒,下面是我的“等待”代码: 试试看{ Log.i(标签“上传前等待1分钟”); 对于(int i=0;i

因此,我想在将文件上载到服务器之前等待60秒,下面是我的“等待”代码:

试试看{
Log.i(标签“上传前等待1分钟”);
对于(int i=0;i<60;i++){
log((60-i)+“还剩几秒…”);
睡眠(1000);
}
}捕捉(中断异常e){
e、 printStackTrace();
}
我拿到日志,直到还剩13秒。它总是停留在“还剩13秒……”甚至在等待了1个多小时之后!有人帮我吗


顺便说一句,Debug.Log与Log相同。除了它也在数组列表中添加strign之外。

尝试使用
TimerTask
类istead

它有一个
wait(长毫秒)
方法,并实现了
Runnable
,您可以像这样使用它 线

或者使用
Timer
类也可能对您有所帮助


以下是问题

您是否在单独的线程中异步执行此操作?是的。这在void run()方法中。可能设备正在休眠。活动仍处于活动状态。我按随机按钮只是为了让手机屏幕保持打开状态……而且,即使它睡着了,它以后还会继续吗?现在试过了吗。虽然对我来说这仍然是一个谜,为什么它就这样停止了。嗯,TimerTask有效!谢谢
        try {
            Log.i(TAG, "waiting 1 minute before upload");
            for ( int i = 0; i < 60; i ++ ) {
                Debug.log(( 60 - i ) + " seconds left...");
                Thread.sleep(1000);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }