В настоящее время я разрабатываю приложение, которое загружает много изображений из Интернета и сохраняет их локально (я использую SDURLCache). Однако старые изображения снова удаляются с диска, поэтому мне было интересно, какой лучший размер кеша.
Преимущество большого кеша, очевидно, в том, что больше изображений сохраняется, что приводит к лучшему UX. Недостатком является то, что изображения нуждаются в большом количестве пространства, и у пользователя будет больше свободного места на диске. Размер, о котором я думаю, составляет 20 МБ. Мне кажется настолько большим, что я спрашиваю вас, каково ваше мнение.Лучший размер кеша для приложений iOS
ответ
Учитывая, что самые маленькие iDevices имеют 8 ГБ памяти, я не думаю, что кеш 20 МБ слишком велик, особенно если он значительно улучшает производительность приложения. Кроме того, помните о том огромном преимуществе, которое сетевой кеш может иметь для работы от батареи, поскольку использование сети очень дорого во время работы от батареи.
Определение идеального размера, однако, является трудным, без дополнительной информации. Как часто просматривается одно и то же изображение? Насколько велика каждая фотография (т. Е. Сколько снимков может удерживать 20 МБ). Как часто изображения нужно удалять из кеша, чтобы добавить новые?
Если вы постоянно меняете изображения в кеше, это может нанести отрицательный эффект на срок службы батареи из-за увеличения использования диска.
Лучшим способом определения размера кеша является проверка. Запустите приложение под инструментами для измерения производительности и использования батареи. Продолжайте увеличивать размер кеша, пока не увидите различия в производительности. Это самый большой размер, который вам нужен, по крайней мере, в условиях тестирования. После того, как вы установили этот размер, уменьшите размер до тех пор, пока производительность едва приемлема для определения наименьшего допустимого размера.
правый размер находится между этими двумя размерами, в зависимости от того, что вы считаете важным. Если вы не можете определить размер , то либо выберите размер, либо добавьте слайдер в настройки приложения, чтобы пользователь решил. (Я бы не стал настраивать его на пользователя, если вы можете - пользователям не нужно думать о таких вещах.)
- 1. Размер памяти NSURLRequest для кеша в iOS
- 2. Ограничить размер кеша приложений в Android
- 3. Лучший способ создания кеша
- 4. фиксированный размер Hashtable для кеша
- 5. Лучший дизайн для модульной модуляции приложений iOS
- 6. Каков размер кеша и размер строки кеша?
- 7. Как ограниченный размер кеша кеша
- 8. prestashop огромный размер кеша кеша
- 9. запрос кеша блока приложений
- 10. Лучший способ распространения приложений для iOS для тестирования
- 11. Как вычислить размер безопасного кеша?
- 12. Ограниченный размер каталога кеша
- 13. Как получить размер кеша установленных приложений в android
- 14. Установите «размер кеша realpath»
- 15. Пустой размер кеша guava?
- 16. Определить общий размер кеша
- 17. Проверить размер кеша Rails?
- 18. Компонент Lookup - размер кеша
- 19. .net размер кеша
- 20. Размер кеша ServiceStack
- 21. Локализация приложений iOS, увеличивается размер приложения?
- 22. Отражающие методы для очистки кеша приложений Android
- 23. Размер хранилища приложений в приложении iOS
- 24. Каков максимальный размер кеша для веб-приложений iOS6 и как его расширить?
- 25. Создайте ссылку iOS для приложения в магазине приложений - лучший способ?
- 26. Как удалить базу данных sqlite NSDocumentDirectory из кеша приложений iOS?
- 27. просмотр кеша приложений не работает
- 28. Создание графики для приложений IOS
- 29. Как настроить размер кеша для Mongodb?
- 30. iOS/Parse.com - Создание кеша для PFQuery
Ну, это действительно не улучшает производительность. Это скорее улучшает использование памяти, поэтому приложение не разбивается, если загружено много изображений. Одна картинка получает доступ примерно 2 раза. А в 10 МБ может поместиться 15 или 20 снимков. – lbrndnr
Ahh Я вижу, если это чисто для сохранения изображений из памяти, вам просто нужно определить, сколько изображений вы можете безопасно хранить в памяти сразу, не выбирая ошибок памяти на более старых устройствах (X), затем узнайте максимальное количество снимков, которые вам понадобятся для загрузки сразу (Y), и средний размер каждого изображения (Z). Тогда ваш соответствующий размер кеша просто (Y - X) * Z, дайте или возьмите несколько МБ. Если это слишком велико, вам может потребоваться переосмыслить то, как работает ваше приложение. –
Также я не знаком с SDURLCache, поэтому, если это все или ничего (т. Е. Все изображения в памяти или все кэшированные), то уравнение просто Y * Z. Хотя вы всегда можете написать собственное решение, соответствующее вашему нуждается в точности. –