iOS Broadcast
3.38K subscribers
1.72K photos
85 videos
985 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
加入频道
Как уменьшить потребление памяти при использовании UIImage

Использование памяти связано с размерами изображения, а не с размером файла, в связи с чем при отображении HD картинок можно столкнуться с Out of memory exception.

Дело в том, что для отображения изображения на экране, iOS сначала необходимо декодировать и распаковать изображение. Обычно 1 пиксель декодированного изображения занимает 4 байта памяти — 1 байт для красного, 1 байт для зеленого, 1 байт для синего и 1 байт для альфа-канала.

Например, картинка в разрешении 3648 на 5472 будет весить примерно 80 MB 🤯

Автор статьи рассказывает как правильно реализовать отображение картинки и что такое downsampling

#optimization
🔥9👎1
Build Time Optimizations (Xcode)

Авторы статьи смогли сократить время билда на 21%. Приведем их советы по оптимизации кода:
1. Используйте "let", где возможно
2. Добавляйте final к классам
3. Явно объявляйте тип и избейгайте инициалзации через вызов .init 
4. Делайте extension'ы приватными
5. Используете объявление кейсов перечислений с типом
6. Разбивайте сложные выражения на части
7. Избегайте лишних кастингов
8. Предпочтитайте if let вместо разворачивания через ??

#optimization
👍7👎1
Делаем плавный скролл в нагруженных таблицах

Способы оптимизации таблицы, рассмотренные в статье:
👉 Повторное использование ячеек/хедеров и футеров — первый и важный шаг оптимизации
👉 Уменьшить общее время загрузки и вычислений, их перевод в Background-очереди — значит упростить объем подсчетов
👉 Использование стандартных компонентов Core Animation для отрисовки ячеек позволит существенно ускорить процесс отображения и повысить производительность
👉 Кеширование данных для ячеек
👉 Нет ничего плохого в комбинации Auto Layout и ручного подсчета. Там, где не хватает производительности — использовать ручной подсчет

#optimization
👍93👎2🤔1😢1
Управление загрузками в Xcode

Начиная с Xcode 14, симуляторы для watchOS и tvOS доступны в виде отдельных загрузок. Данное решение позволяет значительно уменьшать размер загрузки приложения, однако теперь вам придется самостоятельно управлять этими большими (3-4 ГБ) компонентами.
Автор сэкономил 32ГБ дискового пространства, подробнее в статье

#optimization
👍5
How We Reduced Our iOS App Launch Time by 60%

В Амазон подсчитали, что каждая задержка в 0,1 секунду при загрузке экрана приводит к 1% потери прибыли 🤯
Для Амазона 1% прибыли - это 3.8 млрд$. В приложенной статье автор как раз рассказывает о том, как сократить время закгрузки приложения на 60%!
Вот несколько его советов:
👉 Вместо инициализации String(describing:) - используйте ObjectIdentifier(). Такой трюк уменьшил время закгрузки приложения на 11%
👉 Прекратите преобразовывать ненужные объекты в AnyHashable. 29% буста при запуске прилежения
👉 Проверяйте инициализацию сторинних фреймворков - до 40%

#optimization
👍7👎1