您好,我遇到了一个非常奇怪的问题......我正在使用“Serializable”接口将我的类的根对象保存到文件中。此外,我还在其中存储其他类实例,例如“英雄”等。保存和加载似乎没问题....直到我使用任务管理器或 Ram Booster 清除 RAM 并尝试加载我的数据.... 初始根对象已加载,但每个未直接初始化的对象根类(例如 "Hero myHero;" )再次为空...所以我收到一个空指针异常...我将根对象保存在 onPause() 和 onStop() 中,这是我的保存和加载类的代码
public static void saveToStorage(Context context, Root root)
{
try
{
ObjectOutputStream oos = new ObjectOutputStream( new FileOutputStream(new File(context.getFilesDir().getAbsoluteFile(), "save.bin")));
oos.writeObject(root);
oos.flush();
oos.close();
}
catch (Exception e)
{
e.printStackTrace();
Log.e("Error", e.getMessage());
}
}
public static Object loadClassFile(File f)
{
try
{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f));
Object o = ois.readObject();
return o;
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}