private
void
pruneIfNeeded(
int
neededSpace) {
if
((mTotalSize + neededSpace) < mMaxCacheSizeInBytes) {
return
;
}
long
before = mTotalSize;
int
prunedFiles =
0
;
long
startTime = SystemClock.elapsedRealtime();
Iterator<map.entry<string, cacheheader=
""
>> iterator = mEntries.entrySet().iterator();
while
(iterator.hasNext()) {
Map.Entry<string, cacheheader=
""
> entry = iterator.next();
CacheHeader e = entry.getValue();
boolean
deleted = getFileForKey(e.key).delete();
if
(deleted) {
mTotalSize -= e.size;
}
else
{
//print log
}
iterator.remove();
prunedFiles++;
if
((mTotalSize + neededSpace) < mMaxCacheSizeInBytes * HYSTERESIS_FACTOR) {
break
;
}
}
}</string,></map.entry<string,>
热门源码