Использование SDWebImage с Parse

Под руководством многих людей, предлагающих это, я установил SDWebImage, потому что у меня первоначально было много предупреждений памяти. Вместо того, чтобы использовать NSCache для моих изображений, который помогает заполнить мой сборный вид из данных Parse, когда мои ячейки сняты, я попробовал кэш памяти SDWebImage. Что еще я могу использовать из SDWebImage для оптимизации производительности, кроме методов URL? Я вижу, что во многих их методах используются URL-адреса, но я использую Parse, поэтому он не имеет значения. Я также пытался уменьшить свои изображения, что в некоторой степени помогло, но у меня все еще есть проблемы с памятью. Вот мой предыдущий вопрос: предупреждения памяти iOS

2 ответа

Решение

Учитывая ограниченный объем кода, трудно понять, что вы делаете, однако, учитывая, что URL не имеют значения, я думаю, что вы упускаете важный момент.

PFFile имеет свойство с именем url. Вы можете передать PFFile.url в SDWebImage (метод категории setImageWithURL), который, в свою очередь, загрузит изображение и обработает кэш для вас. Вам не нужно загружать изображение или делать преобразование NSData в UIImage самостоятельно. При необходимости вы можете переопределить didReceiveMemoryWarning и дать SDWebImage команду очистить кэш следующим образом;

 SDImageCache *imageCache = [SDImageCache sharedImageCache];
 [imageCache clearMemory];

Удачи!

У меня это реализовано в Parse Server следующим образом на Swift 4

let pic = object?.object(forKey: "pic") as! PFFile
imageView.sd_setImage(with: URL(string: pic.url!), completed: nil)

Надеюсь это поможет

Другие вопросы по тегам