android:如何在恢复时恢复对象,并在暂停时保存?

android:如何在恢复时恢复对象,并在暂停时保存?,android,multithreading,object,onresume,onpause,Android,Multithreading,Object,Onresume,Onpause,我想在暂停时保存一个对象(Myclass),并在应用程序恢复时加载它 我什么都试过了,但都没用 我正在尝试创建一个线程,并在出现问题时使其在我的主要活动上运行。 当我按下后退按钮(退出应用程序)并再次单击应用程序时,它会创建一个新线程,而不会恢复旧线程。使类(MyClass)实现可序列化,然后在活动被销毁时将其保存为文件,并在恢复时从文件中还原 public boolean ObjectToFile(String fileName, Object obj){ boolean succes

我想在暂停时保存一个对象(Myclass),并在应用程序恢复时加载它

我什么都试过了,但都没用

我正在尝试创建一个线程,并在出现问题时使其在我的主要活动上运行。 当我按下后退按钮(退出应用程序)并再次单击应用程序时,它会创建一个新线程,而不会恢复旧线程。

使类(MyClass)实现
可序列化
,然后在活动被销毁时将其保存为文件,并在恢复时从文件中还原

public boolean ObjectToFile(String fileName, Object obj){
    boolean success = false;        
    FileOutputStream fos = null;
    ObjectOutputStream out = null;
    try{
        File dir = GetAppDir();
        if(dir != null){
            fos = new FileOutputStream(dir + "/" + fileName);
            out = new ObjectOutputStream(fos);
            out.writeObject(obj);
            out.close();
            success = true;
        }
    }catch(Exception e){}
    return success;
}

public Object FileToObject(String fileName){
    Object obj = null;
    try{
        File dir = GetAppDir();
        if(dir != null){
            File f = new File(dir, fileName);
            if(f.exists() && f.isFile()){       
                FileInputStream fis = null;
                ObjectInputStream in = null;
                fis = new FileInputStream(f);
                in = new ObjectInputStream(fis);
                obj = in.readObject();
                in.close();
            }
        }
    }catch(Exception e){}
    return obj;
}
基本上你不能(也不应该)做你想做的事。如果您有要在用户结束会话*后继续执行的代码,则您的代码应与服务关联运行。然后,代码应该将其工作写入持久性存储,或者您的服务应该为新创建的活动提供一些绑定接口来连接线程


*如果用户支持您的活动,会话将结束。这与用户按HOME键的行为不同,HOME键表示用户希望在返回应用程序时恢复他们正在执行的操作。

我不太确定您正在尝试执行的操作。请提供更多详细信息。另外,请查看您可能正在查找的onSaveInstanceState()和onRestoreInstanceState()。就保存和恢复活动状态而言,mkso是正确的。但是,您不应该保存
线程本身:相反,您需要保存
线程的状态(例如,如果它正在做一些工作,您可以保存它正在处理的“项目”或类似的内容),然后如果在
onCreate()
中获得非空冰柱,则恢复该状态。如果您希望线程继续在后台工作,那么最好使用
服务
。mmmm它对我不起作用,因为myclass是正在运行的线程。当我按下后退按钮时,不会停止活动。请不要在Android上使用序列化,它的速度太慢了。请用包裹代替。