2016-08-01 3 views
0

Я работаю над приложением, которое имеет много изображений и графики. Существуют случаи, когда мне нужно повторно использовать значки, изображения и т. Д., Чтобы изменить цвет, используя функцию рендеринга изображений Xcode. Несмотря на все мои усилия, размер моего приложения огромный. Я также рассмотрел подход PaintCode, чтобы переместить изображения значков из активов в код. Но я задаюсь вопросом, будет ли хорошей идеей переместить усилия из времени компиляции для запуска? Не будет ли это слишком опасно для приложения слишком влиять на производительность приложения? Поскольку PaintCode завоевывает репутацию на рынке, я уверен, что это было бы обсуждено где-то.Икона активы против кода значка

+1

Этот ответ может быть полезен http://stackoverflow.com/ a/35369905/1753141 – Tricertops

ответ

2

Я использую подход PaintCode в своем проекте, и производительность хорошая. Но у меня нет большого количества значков на экране и не рисует много изображений одновременно. Вы могли бы повысить производительность при необходимости с помощью кеша для сгенерированных изображений (не забудьте очистить его при вызове didReceiveMemoryWarning).

Если у вас есть много изображений, которые зависят от разрешения экрана, вы также можете попробовать использовать.

+0

Спасибо за ваши взгляды @ Андре Богаевский. Будете ли вы также прокомментировать точку зрения о том, что производительность, которая подходит, лучше загружает изображение из пакета или создает это изображение из кода (например, paintCode). Таким образом, будет ясно, лучше ли выбрать полный подход PaintCode или нет? – SHN

+0

Я использую подход PaintCode в основном для изображений, которые меняют цвет. Другие изображения, которые я использую из каталога активов. Поэтому я не могу быть полностью уверен, что использование этого подхода для всех графических активов даст хорошую производительность в вашем случае. Но я думаю, что все будет хорошо. Особенно если вы будете использовать кеш. –

0

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

+0

Однако я сильно сомневаюсь, что ваши изображения имеют какое-либо отношение к размеру вашего приложения. Вы должны изучить встроенное приложение и узнать. Например, при отправке приложения в App Store размер в основном связан с битовым кодом, а не с закрытыми ресурсами. – matt

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