В настоящее время я разрабатываю приложение, которое загружает множество изображений из Интернета и сохраняет их локально (я использую SDURLCache). Однако старые изображения снова удаляются с диска, поэтому мне было интересно, какой размер кеша лучше всего.
Преимущество большого кеша, очевидно, заключается в том, что сохраняется больше изображений, что приводит к лучшему UX. Недостатком является то, что изображения требуют много места, и у пользователя быстрее закончится место на диске. Размер, о котором я думаю, составляет 20 МБ. Хотя мне это кажется таким большим, поэтому я спрашиваю вас, каково ваше мнение.
Лучший размер кеша для приложений iOS
Ответы (2)
Учитывая, что самые маленькие iDevices имеют 8 ГБ памяти, я не думаю, что кэш 20 МБ слишком велик, особенно если он значительно повышает производительность приложения. Кроме того, имейте в виду огромное преимущество сетевого кэша для времени автономной работы, поскольку использование сети очень дорого обходится во времени работы от батареи.
Однако определить идеальный размер сложно без дополнительной информации. Как часто осуществляется доступ к одному и тому же изображению? Насколько велика каждая картинка (т.е. сколько картинок может вместить 20 МБ). Как часто нужно будет удалять изображения из кеша, чтобы добавить новые?
Если вы постоянно меняете изображения в кеше, это может отрицательно сказаться на сроке службы батареи из-за увеличения использования диска.
Лучший способ выбрать подходящий размер кэша — это протестировать. Запустите приложение в разделе «Инструменты», чтобы измерить как производительность, так и использование батареи. Продолжайте увеличивать размер кеша, пока не перестанете различать производительность. Это самый большой размер, который вам понадобится, по крайней мере, в условиях испытаний. После того, как вы установили этот размер, уменьшайте его до тех пор, пока производительность не станет едва приемлемой для определения наименьшего приемлемого размера.
правильный размер находится где-то между этими двумя размерами, в зависимости от того, что вы считаете важным. Если вы не можете определить правильный размер, либо выберите размер, либо добавьте ползунок в настройки приложения, чтобы пользователь мог решить. (Я бы не стал делать его настраиваемым пользователем, если это возможно — пользователи не должны думать о таких вещах.)