gpt4 book ai didi

android - RoboSpice 缓存内存差异对象类型

转载 作者:行者123 更新时间:2023-11-29 01:46:29 27 4
gpt4 key购买 nike

看看LruCacheObjectPersister.java ,这是一个基于 Android LRUCache 的内存中对象持久化器。我想扩展这个基类以在内存中缓存字符串或位图旁边的任何 pojos 类。我的目标是在内存中执行多种请求并在缓存中获取结果,它看起来像这样:

  class Request1 extends SpiceRequest<Book>{}
class Request2 extends SpiceRequest<Category>{}

getSpiceManager().execute(new Request1(), CACHE_KEY, 5 * DurationInMillis.ONE_MINUTE, new RequestListener<Book>(){});

getSpiceManager().execute(new Request2(), CACHE_KEY, 5 * DurationInMillis.ONE_MINUTE, new RequestListener<Category>(){});

我的问题是如何告诉缓存管理器应该像这样在 spice 服务中支持这些类型:

  @Override
public CacheManager createCacheManager(Application application) {
CacheManager cacheManager = new CacheManager();

// I want to store any types instead of bitmap
LruCacheBitmapObjectPersister lruCacheBitmapObjectPersister = new LruCacheBitmapObjectPersister(inFileBitmapObjectPersister, 1024*1024);
cacheManager.addPersister(inFileBitmapObjectPersister);

return cacheManager;
}

我该怎么做?

最佳答案

您应该创建自定义 LruCacheXXXXObjectPersister 并将其注册到自定义服务中。遵循位图的处理方式,并为您自己的 POJO 保留相同的机制。

关于android - RoboSpice 缓存内存差异对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21168319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com