0

アプリを Android マーケットに掲載しました。今は更新したいのですが、その前に、Android がアプリのメモリをどのように管理するかをよりよく理解したいと思います。特に、たとえば次のように内部メモリを使用しました。

File f = context.getFileStreamPath(NAME_FILE);
if (f.exists()){
    FileInputStream stream = context.openFileInput(NAME_FILE);
    ObjectInputStream din = new ObjectInputStream(stream);
    myobject = (MyObject) din.readObject();
}else{
    FileOutputStream stream = ctx.openFileOutput(NAME_FILE, Context.MODE_PRIVATE);
        ObjectOutputStream dout = new ObjectOutputStream(stream);
        dout.writeObject(myobject);
        dout.flush();
        stream.getFD().sync();
}

そして、このファイルを使用して、いくつかのシリアライズ可能なオブジェクトを保存しました。新しいバージョンでは、これらのオブジェクトの構造を変更したので、私の質問は次のとおりです。

新しいアップデートでは、Android はこのファイルを削除し、アプリがオブジェクト (else 句) をファイルに保存しようとすると、新しい空のファイルが作成されますか? または、Android はこのファイルを保持し、アプリがファイル (if 句) からオブジェクトを適合させようとすると、クラッシュしますか?

事前にTnx。フラメントス

4

1 に答える 1

0

新しいアップデートでは、Android はこのファイルを削除しますか?

いいえ、以前にインストールしたアプリを更新しても、以前に保存されたデータは削除されません。

データ構造が変更された場合、新しいバージョンは、以前に保存されたデータの存在を検出し、新しい (アップグレードされた) バージョンを最初に実行するときに削除/再作成する必要があります。

于 2012-07-18T22:48:22.803 に答える