0

AndroidがSQLiteファイルを開き、ファイルが破損している場合、Androidはファイルを削除します。意外に聞こえるかもしれませんが、この動作はAndroidソースコードに明確に実装されており、驚愕とこのAndroidの問題につながります。

それに対する解決策として-

  • リカバリアルゴリズム(牡羊座)を実装できず、Androidソースコードに追加できます。

  • または、 Berkley DB Java EditionH2 DB、またはその他のデータベースを使用することをお勧めします

4

1 に答える 1

1

SQLite はすでにARIES のような回復アルゴリズムを実装しています(SQLite には書き込みの同時実行がないため、より単純です)。ただし、これはフラッシュ ストレージのエラーに対しては役に立ちません。他のデータベースでも同様の破損が見られます。

アプリは、ユーザーがデータを削除するか、アプリを再インストールすると、データが消えることを既に想定している必要があります。したがって、これをエラー回復方法として使用することは理にかなっています。Android がすべてのデータ アクセス呼び出しから I/O エラーを返した場合、そのようなエラーの処理がテストされていないか、まったく実装されていないため、ほとんどのアプリが機能しなくなります。

于 2012-10-05T14:16:40.630 に答える