簡體   English   中英

Android使用System.currentTimeMillis()顯示空白屏幕

[英]Android shows blank screen with System.currentTimeMillis()

我的Android應用程序中有以下代碼。 只要這些代碼行在我的應用程序中運行,移動屏幕就會空白10秒鍾。 這個“問題”很可能是由“ System.currentTimeMillis()”引起的


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

有什么辦法可以避免黑屏?

謝謝

出現空白屏幕10秒鍾的原因是因為此部分代碼阻止了UI線程。 它與對System.currentTimeMillis()的調用無關。

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

編輯:如果您想暫停執行幾秒鍾,請看一下Java Timer Class

這可能是由於您正在UI線程中運行那段代碼而發生的。 為了避免出現黑屏,請嘗試在單獨的線程中運行它。

最簡單的方法是使用AsyncTask。 參見http://developer.android.com/reference/android/os/AsyncTask.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM