我有兩個約500條記錄的靜態表格,每個表格都爲我的應用程序中的某些ListView提供查找材料。當應用程序第一次啓動並創建表時,我運行一個進程來填充表格,這需要不到一分鐘的時間,但我一直在尋找在後臺運行進程使用異步任務與進度對話框,讓用戶知道發生了什麼。 我的問題是,當進程正在運行並且正在添加數據,然後用戶傾斜手機時,進程將被取消。那麼我的數據庫的狀態會是什麼? Async Task是最好的解決方案還是應該使用線程?啓動後創建表格後加載我的Sqlite表格的最佳方式
1
A
回答
0
所以當你旋轉或改變手機的方向時,活動是唯一被銷燬的東西。您不一定必須擺脫異步任務。實際上它會活下去。只是不要讓另一個任務進入並且特意處理它。
因此,如果您希望讓您的活動像在旋轉時一樣行動起來,您可以立即開始,在您離開的地方還有一個名爲onRetainNonConfigurationInstance()的方法。它基本上是儲物箱),它不能在saveInstanceState被瓜分狀物體(
這樣的想法存在的方法:
public void onCreate(Bundle a) {
...
AsyncTask myTask = getNonConfigurationInstance();
if (myTask == null) {
myTask = new AsyncTask();
myTask.execute();
}
...
}
public Object onRetainNonConfigurationInstance() {
return myTask;
}
這將使異步任務運行,當你以後得到所謂你的onCreate你只需要選擇它的旋轉,並做需要做的事情。
有一點需要注意的是progressView。它將不得不被銷燬並重新初始化到新的州。首先應該在AsyncTask之外完成對它的整體解僱和展示。但沒有什麼可以說AsyncTask不能調用一些回調,你在你的onCreate()中設置的總是,這樣它會通知告訴更新UI或播放完成聲音等。
0
你也可以決定通過在清單中使用android:configChanges
來自行處理配置更改。
然後執行onConfigurationChanged
方法並執行其中的任何操作。
當配置變化在 運行時,該活動被關閉並重新啓動默認 ,但聲明 配置與此屬性將 阻止 重新開始活動。相反,活動 保持運行狀態,其調用 onConfigurationChanged()方法的調用爲 。
相關問題
- 1. 從JSON創建的表格網格 - 最佳搜索方式
- 2. 以編程方式創建SQLite表格
- 3. 在表格增長後優化MySQL操作的最佳方式
- 4. 什麼是從網格行創建列表的最佳方式
- 5. 在css中重新創建動態表格的最佳方法
- 6. 創建後自動填充表格jpa
- 7. Apache POI單詞在表格後添加文字的最佳方式
- 8. 保存表格中表格的最佳方式是什麼?
- 9. 將JS應用到加載頁面後創建的表格中
- 10. 在表格創建後在表格中添加一列
- 11. 在數據庫中添加表格後未創建表格
- 12. 動態創建表格行後應用Bootstrap「表格條紋」
- 13. 動態重新加載表格後無法發送表格
- 14. 創建互動網格的最佳方式
- 15. 刪除最後一個表格行以編程方式添加到HTML表格
- 16. jQuery - 在動態表格創建後自動應用樣式
- 17. 創建這些表格的最佳方法
- 18. 這是在Ajax表單提交以更新表格後更新表格數據的最佳方式
- 19. 如何在創建表格後更新表格中的列?
- 20. 爲佣金報告構建表格的最佳方式
- 21. 循環是建立表格的最佳方式嗎?
- 22. Android - 在表格加載後添加表格行
- 23. 構建對照後端列表的最佳方式
- 24. 表示單元格在網格中呈現的格式的最佳方式?
- 25. 加入3個mySQL表格的最佳方式
- 26. 最佳可能的方式在Android中添加表格
- 27. 在表格填寫數據後顯示數據的最佳方式
- 28. 自動將書籤添加到表格,然後創建索引
- 29. 將表格中的行添加到表格的最佳做法
- 30. 將asp:TableRows添加到後臺加載後的表格