我有一個加載xml文件的活動,但是當應用程序在1秒或2秒內沒有回覆的情況下被調用時,我不知道是否可以進行某種加載而不會出現應用程序崩潰,謝謝。加載狀態或異步任務
0
A
回答
1
經驗法則是,如果你做什麼,請使用AsyncTask
,否則你的應用程序將最終崩潰在長網絡延遲或大文件。
private class doSomethingTask extends AsyncTask<SomeData,Integer,SomeData[]> {
private ProgressDialog dialog;
protected SomeData[] doInBackground(SomeData... values) {
int count = values.length;
for(int i=0; i<count; i++) {
publishProgress(count,i+1);
// do something here
....
//
if(isCancelled()) return null;
}
return values;
}
protected void onPreExecute()
{
// show progress bar or something
dialog = new ProgressDialog(context);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setMessage(context.getString(R.string.downloading));
dialog.show();
}
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
dialog.setMax(values[0]);
dialog.setProgress(values[1]);
}
protected void onPostExecute(SomeData[] result) {
// kill progress bar here
if(this.dialog.isShowing()) {
this.dialog.dismiss();
}
}
}
+0
好的,但我想調用活動,它是開放的,並保持listview組件加載,直到數據加載,以及Facebook應用程序,例如。 – user1265628 2012-04-24 01:54:46
+0
這沒問題,'class doSomethingTask'放在你的'Activity'裏面,所以你可以顯示列表,並且列表上會出現一個'ProgressBar',告訴你的用戶正在發生什麼。 – lenik 2012-04-24 02:03:02
相關問題
- 1. Android異步任務狀態
- 2. 異步服務器或快速加載狀態R
- 3. Android:異步任務加載器
- 4. ListView-異步任務 - 加載圖像
- 5. dispatch_sync(dispatch_get_global_queue(xxx),任務)同步或異步
- 6. 使用任務加載模型異步使用任務
- 7. 異步任務從api的異步任務不運行異步
- 8. 異步任務
- 9. 異步任務
- 10. 異步任務
- 11. 異步任務vs任務
- 12. 無法從異步任務更改開關狀態
- 13. EJB 3.1:啓動無狀態bean中的異步任務
- 14. 切換異步任務同步任務
- 15. 異步或同步加載更好?
- 16. 使用異步任務下載圖像
- 17. 負載測試異步任務
- 18. 裝載機不執行任務異步
- 19. Android異步任務下載失敗err
- 20. 同步異步任務
- 21. android異步任務
- 22. 異步任務angularjs
- 23. SignalR異步任務
- 24. 異步任務,BufferedReader
- 25. PHP異步任務
- 26. 與異步任務
- 27. 塊異步任務
- 28. 異步任務異常Android
- 29. 如何基於不同的服務器端狀態異步加載React組件?
- 30. 異步加載
如果你有事情,用戶可以在屏幕上,然後做一個異步任務會更有意義(與屏幕例如右上方一個進度條控件)進行交互,但如果沒有什麼用戶可以互動,然後有一個負載屏幕更有意義。 – Raunak 2012-04-23 21:34:33
好的,我怎麼做這個加載屏幕? – user1265628 2012-04-24 00:21:53