Android應用程序有兩個活動。在沒有滯後的情況下爲後臺線程上的視圖加載數據的最佳做法
活動A顯示項目列表。活動B顯示關於特定項目的一些細節。
詳細信息從一個龐大的SQLite數據庫中加載。用於生成數據的查詢在合理的電話上花費大約250到500毫秒。
我的問題是什麼是加載數據,同時提供良好的用戶體驗的最佳做法。
當前活動B在創建時執行AsyncTask。任務完成後,它會創建多個視圖並將它們添加到屏幕中。沒有數據在UI線程上加載。
對於用戶活動B以漂亮的標準縮放動畫打開,然後幾分之一秒後,視圖會填充數據。它看起來有點廢話國際海事組織。
另一種選擇是在UI線程上加載數據。如果我在正確的時間這樣做,那麼屏幕將凍結選定的列表項目250ms,同時加載數據,然後視圖會隨標準縮放動畫而變化,但它會放大到已填充的視圖。它看起來好多了,但我阻止了不理想的UI線程。
當新視圖尚未準備好時,實現良好過渡的最佳方式是什麼?
在加載數據時將進度對話框放在活動A的頂部,添加取消可能性,最重要的是在單獨的線程中加載。由於這是網絡操作,您不應該依賴接收響應,並且可以讓用戶輕鬆取消操作。恕我直言,這是。 – harism 2012-01-10 05:23:25
這不是網絡操作。 – 2012-01-10 05:31:26