0
如果在方法執行期間發生某些活動生命週期事件,會發生什麼情況?
例如,我的活動有一些將JSON文本文件(幾十Kb)寫入磁盤的方法。設計錯了嗎? 或者,一般來說,考慮有兩條指令需要執行的情況:第一條執行重要操作,第二條指令根據第一條指令的結果更新一些數據。Android:做活動生命週期事件停止正在運行的方法嗎?
喜歡的東西:
value=performOperationAndYeldResult();
updateAppData(value);
如果第一次調用之後和在第二生命週期事件occurrs,或在它的執行會發生什麼?
我將「長」操作放在服務中,但我無法爲整個應用程序中的每個關鍵數據更新創建服務。我想我錯過了一些東西,所以我無所畏懼。也許恢復或重新啓動的活動繼續運行,以便完成。 無論如何,我問這裏:方法是否完成,或繼續?
強烈建議在服務中使用長時間運行的操作。爲什麼你不能使用服務? –
這些操作發生在UI線程中嗎?如果是,我會建議在輔助線程中執行它們。發生在輔助線程中是安全的,即使活動被破壞,線程也會繼續運行。 –
或者根據@NitinSethi回覆,使用服務或更好的AsyncTask。對於寫作操作,我建議實施一個AsyncTask。閱讀如何使用它。 http://developer.android.com/reference/android/os/AsyncTask.html –