在RoboSpice的Persistor中加载所有缓存数据的基本原理?

时间:2015-03-11 05:52:50

标签: android robospice

编写用于保存特定类型数据对象的自定义Persistor,需要扩展ObjectPersistorRobospice

实施这两种方法背后的原因是什么?

@Override
public List<T> loadAllDataFromCache() throws CacheLoadingException {

}

@Override
public List<Object> getAllCacheKeys() {

}

磁盘缓存或任何不正常的对象存储可能很大。为什么RoboSpice想要在内存中加载所有数据?

1 个答案:

答案 0 :(得分:1)

如果您遵循调用层次结构,您会发现loadAllDataFromCache()仅由com.octo.android.robospice.SpiceManager#getAllDataFromCache间接使用。 对于getAllCacheKeys(),它是相似的 - 有com.octo.android.robospice.SpiceManager#getAllCacheKeys使用它。

这意味着通过实现这些方法来抛出UnsupportedOperationException,您可能会感觉很好。您还应该考虑用相同的逻辑覆盖SpiceManager的方法。