Использование 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)
Надеюсь это поможет