- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
@SuppressWarnings("unchecked")
public void addImage(String key, Bitmap bmp){
if(memCache.size() >= MAX_CACHE_SIZE){
Object[] array = (Entry[]) cacheUsage.entrySet().toArray();
Arrays.sort(array, new Comparator<Object>(){
public int compare(Object object1, Object object2) {
return (Integer)(((Map.Entry<String, Integer>)object1).getValue()) -
(Integer)(((Map.Entry<String, Integer>)object2).getValue());
}
});
String keyForRemove = ((Map.Entry<String, Integer>)array[0]).getKey();
memCache.remove(keyForRemove);
cacheUsage.remove(keyForRemove);
}
}
KoirN 24.08.2011 17:46 # 0
Lure Of Chaos 24.08.2011 19:12 # 0
Lure Of Chaos 24.08.2011 19:13 # 0
roman-kashitsyn 24.08.2011 21:40 # 0
Lure Of Chaos 24.08.2011 21:42 # 0
roman-kashitsyn 24.08.2011 21:50 # 0
В общем, тут, как всегда, всё зависит от контекста.
Lure Of Chaos 24.08.2011 22:46 # 0
если вдруг что-то пропало из кэша, это не страшно - еще раз загрузим. Зато мы будем грузить не каждый раз.
Использование обычной карты в качестве кэша вводит нам в обязанность следить за размером кэша и сумарным размером находящихся там элементов
gegMOPO4 24.08.2011 20:32 # 0
roman-kashitsyn 24.08.2011 20:50 # +1
gegMOPO4 24.08.2011 21:14 # 0
CPPGovno 24.08.2011 21:27 # −1
roman-kashitsyn 24.08.2011 21:32 # 0
CPPGovno 25.08.2011 00:51 # 0
Lure Of Chaos 25.08.2011 01:32 # +1
CPPGovno 25.08.2011 02:13 # 0
roman-kashitsyn 25.08.2011 09:27 # 0
CPPGovno 25.08.2011 10:45 # −1
Lure Of Chaos 24.08.2011 21:40 # +3
roman-kashitsyn 25.08.2011 14:16 # +3
qlqRjbp 25.08.2021 09:40 # 0