Я изменяю размер шрифта с помощью UISlider и жеста пинч.
label.font = font.withSize(updatedFontSize)
При каждом изменении шрифта приложение потребляет небольшое количество памяти (например, ~ 0,01 МБ). Поскольку рендеринг / инициализация шрифта немного дороже, iOS стремится кешировать UIFont в ОС, которая является причиной такого потребления памяти (объяснение из этого SO вопроса ). После быстрой смены шрифта в течение нескольких раз, iOS начинает проверять, доступен ли этот шрифт в кэше. С помощью ползунка / жеста можно создать тысячи шрифтов, которые будут сохранены в UIFontCache.
Постоянно меняя шрифт в течение нескольких минут, +[UIFont _fontWithDescriptor:size:textStyleForScaling:pointSizeForScaling:maximumPointSizeAfterScaling:forIB:]
начал занимать огромное количество процессоров. Это вызывает сбой в моей UILabel при изменении размера шрифта. Есть ли способ предотвратить использование этого процессора, чтобы предотвратить этот сбой?