1

您好,我遇到了一个非常奇怪的问题......我正在使用“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;
}
4

0 回答 0