Вступить в клуб →
средняявопросПроизводительность и Instruments

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

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела