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