2
LruCacheObjectPersister.java을 보자.이 메모리는 Android LRUCache를 기반으로 메모리 내재 된 객체입니다. 문자열이나 메모리의 비트 맵 옆에 pojos 클래스를 캐시하도록이 기본 클래스를 확장하려고합니다.메모리 차이 객체 유형의 RoboSpice 캐시
: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>(){});
내 문제는이 같은 향신료 서비스에서 이러한 유형을 지원해야 캐시 관리자에게 신고하는 방법입니다 : 내 목표는 다음과 같이 메모리에 요청의 많은 종류를 실행하고 캐시에 결과를 얻을 수있다
@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;
}
어떻게하면됩니까?
그래서 각 pojo에 대해 100 개의 다른 요청을하면 100 개의 Persister를 만들어야합니까? 내가 원한 것은 모두를 위해 일하는 올인원 퍼시 스터이다. – R4j
JSON을 디스크 캐시 (예 : JSON 네트워크 형식을 사용하면 매우 쉽습니다)로 사용하여 기본 잔고는 얻을 수 있지만 디스크에는 JSON을 사용합니다. 그러나 Pojo를 Lru에서 유지하기가 더 어렵다면 일반적인 것을 얻을 수 있지만 RAM의 각 항목의 크기를 계산할 수있는 규칙을 정의해야합니다. 그리고 저는이 시점이 어렵다고 정말로 믿습니다. – Snicolas
디스크 기반 캐싱이 충분히 효율적이지 않습니까? 그런 경우는 없었습니다. – Snicolas