编写用于保存特定类型数据对象的自定义Persistor
,需要扩展ObjectPersistor
的Robospice。
实施这两种方法背后的原因是什么?
@Override
public List<T> loadAllDataFromCache() throws CacheLoadingException {
}
@Override
public List<Object> getAllCacheKeys() {
}
磁盘缓存或任何不正常的对象存储可能很大。为什么RoboSpice想要在内存中加载所有数据?
答案 0 :(得分:1)
如果您遵循调用层次结构,您会发现loadAllDataFromCache()
仅由com.octo.android.robospice.SpiceManager#getAllDataFromCache
间接使用。
对于getAllCacheKeys()
,它是相似的 - 有com.octo.android.robospice.SpiceManager#getAllCacheKeys
使用它。
这意味着通过实现这些方法来抛出UnsupportedOperationException
,您可能会感觉很好。您还应该考虑用相同的逻辑覆盖SpiceManager
的方法。