1. 定义
在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态。
2. 使用场景
需要保存/恢复数据的相关状态场景
需要提供一个可回滚的操作
3. 优缺点
优点:
提供可以恢复状态的机制
实现了信息的封装,不用关心保存状态的细节
缺点:
消耗资源(如果类的成员变量过多,每次保存都会消耗一定的内存)
4. Android源码中的使用:
Activity的onSaveInstanceState(),onRestoreInstanceState()两个方法,非主动退出或跳转到其他activity时触发onSaveInstanceState备份数据,下次启动activity时读取备份
5. 实例演示
下面以游戏存档为例
1.首先创建一个游戏类,这里以使命召唤为例
2. 创建一个备份存储类
3. 创建一个备份管理者类,用于读档存档
4. 最后创建实例进行调用
以游戏存档为例, 屏蔽了外界对CallOfDuty对象的直接访问, 进行退出存档和进入时读档操作
我是今阳,如果想要进阶和了解更多的干货,欢迎关注公众号”今阳说“接收我的最新文章
网友评论