0

直升機,如何在開始新活動時避免黑屏?

我有活動,做互聯網相關的工作。

當我有一個緩慢的互聯網連接,開始一個新的活動變成黑屏,並在幾秒鐘後它就會顯示出來。

互聯網工作是做的AsyncTask。

我如何通過使用例如進度避免這種情況?

+0

檢查大部分代碼是的onCreate。理想情況下只有靜態初始化應該在那裏。休息在onStart。如果您的互聯網任務需要在屏幕上顯示數據,請在onPreExecute中啓動指示器。 –

+0

是否有可能在活動之間顯示進度條? – ubik

+0

它沒有任何意義。進度條附加到活動1或2的視圖中。另外,在活動之間切換的時間並不是那麼長。延遲和黑屏將因某些需要時間並寫入onCreate的操作而到來。嘗試打印時間戳作爲onCreate的第一行,以查看活動加載的速度以及延遲的時間。 –

回答

0

Android是應該以60fps來更新GUI。 這基本上意味着任何可能需要超過16毫秒的操作都不應該在主GUI線程上執行。

您的活動創造應該是一個很快的過程,依賴於默認值或快速訪問數據。任何「長」操作,如網絡,數據庫和文件系統訪問,應該使用工作者線程或AsyncTask異步執行。

看看在Docs

相關問題