Xin chào Tôi đang sử dụng khung công tác SDWebImage trong dự án và tôi muốn tải xuống và lưu hình ảnh, nhưng tôi nghĩ mã của tôi đang lưu trữ hình ảnh trong bộ nhớ cache hai lần? Có cách nào để lưu trữ hình ảnh trong bộ đệm ẩn chỉ bằng một khóa không? Đây là mã của tôi.SDWebImage Tải hình ảnh và lưu vào bộ nhớ cache cho khóa
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:[NSURL URLWithString:url] options:0 progress:^(NSUInteger receivedSize, long long expectedSize) {
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
if(image){
NSString *localKey = [NSString stringWithFormat:@"Item-%d", i];
[[SDImageCache sharedImageCache] storeImage:image forKey:localKey];
}
}];
Có điều gì mà tôi đã bỏ sót không? Dường như làm điều này trong công cụ phân bổ của tôi là pilling lên rất nhiều bộ nhớ.
gì bạn có nghĩa nếu chúng ta thiết lập quan trọng cho mỗi (cố định tải url hình ảnh), nó sẽ không xảy ra kích hoạt sự kiện tải trên mạng? đúng ? và nó sẽ sử dụng bộ đệm ẩn trước đó? –
Được một lúc kể từ khi tôi nhìn vào điều này, nhưng nếu bạn đang có kế hoạch về lưu trữ một hình ảnh với một chìa khóa bộ nhớ cache cụ thể, bạn nên kiểm tra '[SDImageCache sharedImageCache]' cho hình ảnh trước khi đưa ra một yêu cầu tải về. Nếu bạn không có nó, lưu trữ nó với khóa cụ thể của bạn để nó sẽ có thời gian tới. Điều này có thể đã thay đổi ngay bây giờ, nhưng bạn nên sử dụng 'SDWebImageDownloader' và sau đó lưu trữ với khóa riêng của bạn nếu bạn đang đi để làm điều đó theo cách này. – Stakenborg