改造,Otto和在RAM中存储模型

时间:2015-01-07 14:55:24

标签: android retrofit otto

在我们的项目中,我们被禁止存储来自服务器的数据(保密信息)。但是一旦下载和解析的模型被用在多个片段中。服务器每天更新一次数据,并在午夜强制注销。我想将分区模型存储在内存中,并在退出app时将其删除。

在当前的实现中,我有两个单实例类 - RestClient DataStorage ,它们在构造函数中注册到Otto总线。我在Application类中实例化它们:

@Override
public void onCreate() {
    super.onCreate();

    new RestClient(this);
    new DataStorage();
}

每个型号的DataStorage都有方法:

@Subscribe
public void onModelComplete(Model model) {
    this.model = model;
}

@Produce
public Model produceModel() {
    return model;
}

片段发送事件将总线抛出到RestClient并从RestClient或"生成" DataStorage的结果(如果在后台应用程序时收到数据)。

问题是当用户退出应用程序时,数据不会被删除,因为应用程序不会死亡。如何实现在内存中存储并在退出时清除数据而不杀死进程?

0 个答案:

没有答案