最近在做Android 项目时用到了WebView,可悲的是,在html上有无数用户的操作,而这些操作被JS返回给了Android的内存中,当深层的Activity开启时,之前的Activity很可能被系统放掉,导致内存里的对象丢失,无法恢复之前的操作,因此需要对对象进行序列化,将对象保存在flash中,返回的时候进行反序列化,从而恢复对象

1.重写onSaveInstanceState

    @Override
protected void onSaveInstanceState(Bundle outState) {
}

将对象在方法中进行序列化,尤其需要注意的是,不仅对象需要实现Serialization接口,
其引用的对象也需要实现该接口,否则会抛出异常,有意思的是,该接口并不需要实现任何接口方法,Thinking in java 中说,他只是一个旗帜

public class Test implements Serializable{
}

2.序列化与反序列化

    private static Object ByteToObject(String filePath) {

        java.lang.Object obj = null;
try {
FileInputStream bi = new FileInputStream(filePath);
ObjectInputStream oi = new ObjectInputStream(bi);
obj = oi.readObject();
bi.close();
oi.close();
}
catch(Exception e){
System.out.println("translation"+e.getMessage());
e.printStackTrace();
}
return obj;
} public void ObjectToByte(String filePath,Object obj) { File tempFile = new File(filePath.substring(0,filePath.lastIndexOf("/")));
tempFile.delete();
if(!tempFile.exists()){
tempFile.mkdirs();
}
try {
FileOutputStream bo = new FileOutputStream(filePath);
ObjectOutputStream oo = new ObjectOutputStream(bo);
oo.writeObject(obj);
bo.close();
oo.close();
}
catch(Exception e){
System.out.println("translation"+e.getMessage());
e.printStackTrace();
}
}

这两个函数也是我Search到的,稍微修改了一下就可以使用了。

最新文章

  1. vector定义初始化
  2. 【poj1007】 DNA Sorting
  3. 用Matplotlib绘制二维图像
  4. WCF 学习总结3 -- 实例模式
  5. 集成容联:Warning! ivar size mismatch in PSUICollectionView_ - can't change the superclass.解决办法
  6. Android数据库--Sqlcipher的使用(二)
  7. spring data jpa自定义bean字段映射
  8. Redis使用记录-相关资料汇总
  9. 如何让eclipse在程序修改后,点击运行可以自动保存。
  10. Linq GroupBy
  11. 2186 Popular Cows
  12. SQL Server数据库中的系统数据库?
  13. 百度地图API的应用
  14. 后门技术(HOOK篇)之DT_RPATH
  15. 阿里巴巴Java开发手册- 控制语句
  16. nginx集群tomcat,session共享问题
  17. java zxing实现二维码生成和解析zxing实现二维码生成和解析
  18. 黄聪:WIN7下回收站不小心删除的文件怎么恢复,免费数据恢复软件下载
  19. 1: 介绍Prism5.0(纯汉语版)
  20. 【button】 按钮组件说明

热门文章

  1. python 常用模块(转载)
  2. 取得inputStream的长度
  3. sass教程汇总
  4. SpeedPHP多入口设置 前台和后台入口分开
  5. 李洪强漫谈iOS开发[C语言-020]-scanf的本质
  6. [wikioi]装箱问题
  7. INF文件
  8. 《ArcGIS Engine+C#实例开发教程》第六讲 右键菜单添加与实现
  9. C语言考试解答十题
  10. Android 常用UI控件之TabHost(4)实现当Tab栏有多个tab时,可以左右滑动