2012-10-05 31 views
0

當Android打開SQLite文件並且文件損壞時,Android會刪除該文件。 令人驚訝的是,這種行爲在Android源代碼中很清楚地實現,導致了這個Android問題。android會自動刪除損壞的SQLite文件

作爲解決IT-

  • 無法恢復算法(白羊)來實現,並且可以在機器人的源代碼被加入。

  • OR,最好是使用任何其他數據庫一樣Berkley DB Java EditionH2 DB,或任何其他

+0

歡迎來到Stackoverflow!也許你應該更清楚你實際要問什麼。目前很難說,因爲沒有問號。 – WarrenFaith

+0

這似乎很奇怪,特別是因爲SQLite有修復/試圖修復損壞的文件的選項。 – Buffalo

回答

1

SQLite的已經實現了a recovery algorithm像ARIES(這是更簡單,因爲有SQLite中沒有寫入併發)。但是,這不會有助於防止閃存中的錯誤;其他任何數據庫都會看到類似的損壞

應用程序已經不得不期待他們的數據消失,無論是當用戶刪除它,還是應用程序重新安裝時。所以使用它作爲錯誤恢復方法是有意義的;如果Android會從每次數據訪問調用中返回I/O錯誤,那麼大多數應用程序都會中斷,因爲處理此類錯誤從未經過測試或根本沒有實施過。