Skip to content

Commit 55509da

Browse files
authored
Merge pull request #10 from SDWebImage/sync_sdimage_cache
Sync the SDImageCache logic from SDWebImage 5.10.0
2 parents 6edb797 + c113f22 commit 55509da

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

SDWebImageYYPlugin/Classes/YYCache/YYCacheBridge/YYCache+SDAdditions.m

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,15 @@ @implementation YYCache (SDAdditions)
111111

112112
@autoreleasepool {
113113
UIImage *diskImage;
114-
SDImageCacheType cacheType = SDImageCacheTypeNone;
115114
if (image) {
116115
// the image is from in-memory cache, but need image data
117116
diskImage = image;
118-
cacheType = SDImageCacheTypeMemory;
119117
} else if (diskData) {
120-
cacheType = SDImageCacheTypeDisk;
118+
BOOL shouldCacheToMomery = YES;
119+
if (context[SDWebImageContextStoreCacheType]) {
120+
SDImageCacheType cacheType = [context[SDWebImageContextStoreCacheType] integerValue];
121+
shouldCacheToMomery = (cacheType == SDImageCacheTypeAll || cacheType == SDImageCacheTypeMemory);
122+
}
121123
// decode image data only if in-memory cache missed
122124
diskImage = SDImageCacheDecodeImageData(diskData, key, options, context);
123125
if (diskImage) {
@@ -146,18 +148,18 @@ @implementation YYCache (SDAdditions)
146148
diskImage.sd_extendedObject = extendedObject;
147149
}
148150
}
149-
if (diskImage) {
151+
if (shouldCacheToMomery && diskImage) {
150152
NSUInteger cost = diskImage.sd_memoryCost;
151153
[self.memoryCache setObject:diskImage forKey:key cost:cost];
152154
}
153155
}
154156

155157
if (doneBlock) {
156158
if (shouldQueryDiskSync) {
157-
doneBlock(diskImage, diskData, cacheType);
159+
doneBlock(diskImage, diskData, SDImageCacheTypeDisk);
158160
} else {
159161
dispatch_async(dispatch_get_main_queue(), ^{
160-
doneBlock(diskImage, diskData, cacheType);
162+
doneBlock(diskImage, diskData, SDImageCacheTypeDisk);
161163
});
162164
}
163165
}

0 commit comments

Comments
 (0)