public boolean shouldLoad(String filePath, int estimatedImageSize) { synchronized (cache) // because of race with changeWorkingSet() and getGLImage { // if somebody is waiting for it we have no choice if (urgentImageIds.contains(filePath) && curSet.contains(filePath)) return true; else { int priority = curSet.getPriority(filePath); // lower priority by one - ImageLoaderPool should not bother loading an image // if it's just going to replace one of equal priority - there's no point if (priority > Integer.MIN_VALUE) priority--; return cache.canStore(estimatedImageSize, priority); } } }