Экономия места: при первом запуске масштабируйте все изображения в 2 раза для старых iPhone / iPad / iPod - PullRequest
1 голос
/ 15 февраля 2011

Проблема с этим: iphone 4 - загрузка изображений x старых устройств

в том, что мы заканчиваем тем, что заполняем наши приложения двойным контентом.Т.е. пользователь должен загрузить на свое устройство изображение размером 2x и 1x, но в конечном итоге он будет использовать только один из них, а другой будет пустой тратой времени на загрузку и т. Д.в некоторых случаях может быть достаточно просто заполнить ваше приложение изображениями с высоким разрешением (@ 2x), а при запуске приложения (в делегате приложения, перед отображением окна ... или чего-то еще) вы можете масштабировать все @ 2xизображения вниз для устройств с низким разрешением экрана.При уменьшении вы сохраняете эти файлы в папке документов и / или кэш-памяти устройства и удаляете исходные изображения @ 2x.Как насчет того, кто-нибудь уже делал это?(Мои Google, они ничего не делают) Есть ли недостатки этого?Яблоко ударит меня где-нибудь за это?и т.д ...

Ответы [ 2 ]

1 голос
/ 15 февраля 2011

Вы определенно можете масштабировать эти @ 2x изображения и сохранять масштабированные файлы в папке документов. Это позволило бы сэкономить время загрузки и использовать тот же объем пространства, что и связывание всего с вашим приложением, за счет некоторой дополнительной сложности. Я не думаю, что удаление оригинальных изображений @ 2x возможно, однако, или того стоит, даже если бы это было - есть возможность перемещения приложений и пользовательских данных между устройствами. Было бы лучше всего выбрать правильные данные в зависимости от разрешения, как только вы получите их оба. И я не вижу особых оснований для того, чтобы Apple ударила вас за это.

О, и, конечно, если у вас действительно много данных, порядка сотен мегабайт, может иметь смысл две версии приложения (например, в духе Rage).

0 голосов
/ 16 февраля 2011

Я сейчас отвечу на мои мысли.

  • при выполнении пакета вы должны сохранить изображения в папке кеш / документы или что-то в этом роде.Это означает, что любое изображение, указанное в IB, все равно не будет найдено устройствами с низким разрешением, возможно, они также не будут найдены с использованием обычного imageNamed и т. Д. (Пока не уверены в этом).Может быть, это исправить, или мне, возможно, придется возиться с добавлением изображений вручную в viewDidLoad.Запах грязный.Может работать, с хорошим решением ...

  • может быть проблем с обновлениями приложений.Поскольку обновления приложений публикуются медленно (извините, Apple, да, обновления публикуются медленно).При обновлении вы, вероятно, захотите стереть папку кеша, чтобы убедиться, что старые изображения, которые были изменены / удалены с обновлением, все еще не остаются в кеше.Кэширование должно контролироваться с помощью какой-либо версии.Как проверить текущую версию приложения, и если кеширование было сделано для этой версии.Если нет, обновите кеш, вид потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...