Leaks ничего не находит, а память растёт с каждой открытой карточкой товара
final class ImageCache {
static let shared = ImageCache()
private var storage: [URL: UIImage] = [:]
func image(for url: URL) -> UIImage? { storage[url] }
func set(_ image: UIImage, for url: URL) { storage[url] = image }
}
Пользователь листает 200 карточек — память растёт до 1,2 ГБ, затем приложение завершает система. Leaks утечек не показывает. Что не так?
- Кэш не ограничен; заменить словарь на NSCache
- Leaks нужно запускать на симуляторе
- Синглтон нужно сделать weak
- UIImage надо хранить как Data
