在 RoboSpice 的 Persistor 中加载所有缓存数据背后的基本原理?
Rationale behind loading all cache data in RoboSpice's Persistor?
正在编写自定义 Persistor
用于保存特定类型的数据对象,需要扩展 ObjectPersistor
of Robospice。
这两个方法需要实现的原因是什么?
@Override
public List<T> loadAllDataFromCache() throws CacheLoadingException {
}
@Override
public List<Object> getAllCacheKeys() {
}
磁盘缓存或任何底层对象存储都可能非常庞大。为什么 RoboSpice 要加载内存中的所有数据?
如果你按照调用层次结构,你会发现 loadAllDataFromCache()
仅被 com.octo.android.robospice.SpiceManager#getAllDataFromCache
间接使用。
对于getAllCacheKeys()
,它是相似的-有com.octo.android.robospice.SpiceManager#getAllCacheKeys
利用它。
这意味着通过实施这些方法来抛出一个 UnsupportedOperationException
,您可能会过得很好。您还应该考虑用相同的逻辑覆盖 SpiceManager
的方法。
正在编写自定义 Persistor
用于保存特定类型的数据对象,需要扩展 ObjectPersistor
of Robospice。
这两个方法需要实现的原因是什么?
@Override
public List<T> loadAllDataFromCache() throws CacheLoadingException {
}
@Override
public List<Object> getAllCacheKeys() {
}
磁盘缓存或任何底层对象存储都可能非常庞大。为什么 RoboSpice 要加载内存中的所有数据?
如果你按照调用层次结构,你会发现 loadAllDataFromCache()
仅被 com.octo.android.robospice.SpiceManager#getAllDataFromCache
间接使用。
对于getAllCacheKeys()
,它是相似的-有com.octo.android.robospice.SpiceManager#getAllCacheKeys
利用它。
这意味着通过实施这些方法来抛出一个 UnsupportedOperationException
,您可能会过得很好。您还应该考虑用相同的逻辑覆盖 SpiceManager
的方法。