Я только что обнаружил, что когда UIwebview освобождается, большая часть используемой им памяти не перерабатывается полностью. После выполнив какой-то профиль, я обнаружил, что большая часть все еще активной памяти - это кэш глифов шрифтов (проблема намного хуже, если вы открываете китайскую веб-страницу, поскольку в китайском языке больше символов, что означает больше глифов шрифта).
Есть ли какие-либо Как мы можем управлять кешем? Я работаю в веб-браузере iOS, эта проблема блокирует меня на 2 недели.
Прикрепленный - это простая репро-демонстрация. 1) Запустите демонстрацию с памятью «Профиль распределения». 2) введите http://www.163.com в адресную строку и дождитесь завершения загрузки. 3) вы можете увидеть, что в инструменте занято около 10 МБ памяти. 4) нажмите кнопку очистки (UIwebview будет удален из визуального дерева и переработан) 5) вы все еще можете видеть около 9M памяти.
Кстати, NSURLCache был отключен с помощью приведенного ниже кода, чтобы устранить проблему. [[NSURLCache sharedURLCache] setMemoryCapacity: 1]