Android Market更新后的内部内存管理

时间:2012-07-18 22:33:26

标签: android

我把我的应用放在了Android Market上。现在我想要更新它,但在此之前我想更好地了解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。 Framentos

1 个答案:

答案 0 :(得分:0)

  

在新的更新中,Android会删除此文件吗??

不,对以前安装的应用程序的更新不会删除以前保存的数据。

如果您的数据结构已更改,则新版本需要检测先前存储数据的存在,并在第一次运行新(升级)版本时删除/重新创建它。