2013-10-21 123 views
0

我在我的Android應用程序中有以下代碼片段。只要這些代碼行在我的應用程序中運行,移動屏幕會變爲空白10秒。這個「問題」最有可能由「System.currentTimeMillis的()」引起Android顯示黑屏與System.currentTimeMillis()


 for (i=0;i<10;i++) 
     { 
      time0 = System.currentTimeMillis(); 
      do 
      { 
      time1 = System.currentTimeMillis(); 
      } 
      while ((time1 - time0) < 1000); 
     } 

有沒有什麼辦法能夠避免黑屏?

感謝

回答

3

你得到一個空白屏幕,10秒的原因是因爲這部分代碼被阻塞UI線程。這與撥打System.currentTimeMillis()無關。

在每個for循環迭代中,您一直在檢查時間,直到1秒過去。由於您執行for循環10次,您將有效地阻塞UI線程10秒。

編輯:如果您想暫停執行了幾秒鐘,看看在Java Timer Class

+0

好的,謝謝。我是一個相對較新的eclipse和java用戶。你能告訴我怎樣才能避免這個空白屏幕?基本上我只想等待幾秒鐘,然後繼續下一部分代碼。我正在執行onActivityResult() – user2904943

+1

你需要等待這麼久的任何理由?沒有人喜歡在應用程序中觀看10秒內沒有發生任何事情。 – dymmeh

+0

dophie有一個公平點..不知道爲什麼,但你可以看看Java中的定時器。請參閱編輯 – Joel