AndroidがSQLiteファイルを開き、ファイルが破損している場合、Androidはファイルを削除します。意外に聞こえるかもしれませんが、この動作はAndroidソースコードに明確に実装されており、驚愕とこのAndroidの問題につながります。
それに対する解決策として-
リカバリアルゴリズム(牡羊座)を実装できず、Androidソースコードに追加できます。
または、 Berkley DB Java Edition、H2 DB、またはその他のデータベースを使用することをお勧めします
AndroidがSQLiteファイルを開き、ファイルが破損している場合、Androidはファイルを削除します。意外に聞こえるかもしれませんが、この動作はAndroidソースコードに明確に実装されており、驚愕とこのAndroidの問題につながります。
それに対する解決策として-
リカバリアルゴリズム(牡羊座)を実装できず、Androidソースコードに追加できます。
または、 Berkley DB Java Edition、H2 DB、またはその他のデータベースを使用することをお勧めします
SQLite はすでにARIES のような回復アルゴリズムを実装しています(SQLite には書き込みの同時実行がないため、より単純です)。ただし、これはフラッシュ ストレージのエラーに対しては役に立ちません。他のデータベースでも同様の破損が見られます。
アプリは、ユーザーがデータを削除するか、アプリを再インストールすると、データが消えることを既に想定している必要があります。したがって、これをエラー回復方法として使用することは理にかなっています。Android がすべてのデータ アクセス呼び出しから I/O エラーを返した場合、そのようなエラーの処理がテストされていないか、まったく実装されていないため、ほとんどのアプリが機能しなくなります。