2009-09-18 3 views
1

Кто-нибудь знает, поддерживает ли iPhone кеш ранее используемых символов шрифта?iPhone кеширование iPhone

В последнее время, пытаясь обнаружить утечку памяти рядом с контроллером UITextField, я заметил, что утечки почти (95%) удалены, когда я начинаю писать текст, который использует только символы из предыдущих попыток.

Что-то похожее на то, что для каждого отображаемого символа из шрифта система сохраняет его в памяти при первом отображении и повторяет его, когда он повторяется.

Однако я не нашел никаких сообщений/статей в Интернете об этом поведении.

ответ

0

UIKit кэширует шрифты на уровне метаданных и глифов, чтобы предотвратить повтор синтаксического анализа данных шрифта. Он должен использовать незначительный объем памяти по отношению к остальной части вашего приложения, хотя (если вы не попытаетесь нарисовать каждый символ из каждого шрифта)

+0

Хотя это, как правило, верно, это неверно, когда вам нужно отображать много эмози персонажи. Эти глифы потребляют много памяти (в моем случае 15 МБ!), Особенно при отображении большого шрифта. Мое приложение чувствительно к памяти, и я бы поставил эти дополнительные 15 МБ для более эффективного использования, если бы знал, как освободить эту память. Есть ли способ клонировать этот кеш шрифта? – drasto

Смежные вопросы