Skip to content

Commit 6047a4f

Browse files
authored
Merge pull request #4 from SDWebImage/sync_sdimage_cache
Sync the SDImageCache logic from SDWebImage 5.10.0
2 parents cdeb11a + c2c4d14 commit 6047a4f

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

SDWebImagePINPlugin/Classes/PINCache+SDAdditions.m

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,18 @@ @implementation PINCache (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);
123-
if (diskImage) {
125+
if (shouldCacheToMomery && diskImage) {
124126
// Check extended data
125127
NSData *extendedData = [self.diskCache extendedDataForKey:key];
126128
if (extendedData) {
@@ -154,10 +156,10 @@ @implementation PINCache (SDAdditions)
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)