2014-05-15 35 views
0

如果我寫了很多字節「盤」的我如何確保,這個操作不會中斷或用戶/系統啓動,可能會導致麻煩其他文件操作?如何保護長時間的磁盤操作(寫入)?

我只是擔心,那個時候我的AsyncTask寫入磁盤,約30秒,前景中的其他進程可能在磁盤上的工作,我的東西被破壞。我不知道android如何管理其磁盤訪問。

或者是一點問題都沒有?我只需要知道,無論需要多長時間,我的數據都能正確寫入磁盤。

我知道SQLite數據庫我可以開始獨家轉讓之類的東西,但我懷疑我可以鎖定只有我的應用程序的磁盤,這將是惡意軟件的天堂。

+0

操作系統可以確保你的應用程序(或與此有關的任何應用程序)得到它的時間公平份額訪問磁盤。不要擔心 – Machinarius

+0

它值得進行測試,但我認爲即使關閉設備也不會中斷此操作。唯一的問題可能是電池完成。 (你是否應該讓我們知道,這對每個人都很有趣。) – Shlublu

回答

2

Android是一個成熟的Linux內核上運行。在任何時候,有數十個「磁盤」操作處於活動狀態。你的應用程序只是大型遊戲的一小部分。不用擔心,只要你想要寫入 - 只要你在系統關閉,應用程序崩潰或用戶殺死它之前關閉文件,文件操作就會完成。即使在上述任何情況下,存儲都不應損壞。正確的系統關閉和進程終止應關閉所有打開的資源。即使你的系統突然失去能力,由於ext4文件系統,磁盤損壞應該很少。