我在Android应用程序中有以下代码。每当这些代码行在我的应用程序中运行时,移动屏幕将变为空白10秒。这个'问题'很可能是由'System.currentTimeMillis()'
引起的 for (i=0;i<10;i++)
{
time0 = System.currentTimeMillis();
do
{
time1 = System.currentTimeMillis();
}
while ((time1 - time0) < 1000);
}
有没有办法可以避免空白屏幕?
由于
答案 0 :(得分:3)
您获得空白屏幕10秒的原因是因为此部分代码阻止了UI线程。它与System.currentTimeMillis()
的调用无关。
在每个for循环迭代中,您将一遍又一遍地检查时间,直到1秒过去。由于您执行for循环10次,因此您有效地阻止了UI线程10秒。
编辑:如果您想暂停执行几秒钟,请查看Java Timer Class
答案 1 :(得分:2)
这可能是因为您在UI线程中运行该段代码。为了避免空白屏幕,请尝试在单独的线程中运行它。
最简单的方法是使用AsyncTask。见http://developer.android.com/reference/android/os/AsyncTask.html