Оптимизация для меньшего файла.cod (.jar)

Компилятор RIM выполняет дополнительную оптимизацию и сжатие получающегося ".jar" при построении окончательного файла.cod, но есть вещи, которые может сделать разработчик, чтобы значительно уменьшить окончательный размер файла.cod.

Одной из таких вещей будет запуск PNGCrush, OptiPNG или аналогичного инструмента для уменьшения размера включаемых файлов.png. В приложении с большим количеством файлов изображений (например, в приложении с пользовательским интерфейсом) это может привести к значительному уменьшению конечного размера файла.cod.

Есть ли у вас какие-либо советы по оптимизации конечного файла.cod по размеру? Что-то, что должно быть сделано в самом коде.java? Что нужно сделать в структуре проекта? Что-то сделать с файлами или ресурсами?

Спасибо!

4 ответа

Решение

Хороший вопрос!

  • Сжатие ( GZip, ZLib) может быть полезно при установке больших файлов bin/txt/xml

И вот что они говорят в RIM:

Также интересные факты:

Все изображения были в формате PNG. Я хочу знать, почему: скомпилировать с JDE 4.5 -> 900k, скомпилировать JDE 4.2, 2.6.1, 4.7 -> 1800k. Какая разница? Спасибо!


Кажется, что JDE 4.5 использует больше методов оптимизации, чем старые версии JDE.


Посмотрите на изображение ниже, оно было получено PngOut из изображения 55 K png. Это размер 3427 байт

Я думаю, что вы, безусловно, хотите рассмотреть сжиматель (и оптимизатор / obfusticator), как ProGuard ( http://sourceforge.net/projects/proguard/). Это может уменьшить ваш код Java, свернув полные имена классов в укороченные версии, удалив неиспользуемый код и т. Д. По пути это может повысить эффективность кода. Это великолепно. Единственная сложная часть - это модификация вашей сборки, чтобы оптимизировать сгенерированные файлы классов до того, как материал сборки RIM попадет в руки для создания.cod.

Убедитесь, что вы используете PNG-8 вместо PNG-24, когда это возможно. Попробуйте свести к минимуму количество цветов в палитре. После этого используйте PngOut.

Что касается ProGuard, у меня возникают проблемы на старых устройствах BB при использовании функции оптимизации Progruard (переключатель "-dontoptimize") - поэтому используйте его осторожно, хотя это отличный инструмент.

Хорошим подходом является GZIP для всех ресурсов, а затем для загрузки сжатых файлов используйте класс net.rim.device.api.compress.GZIPInputStream. Таким образом, вам не нужно реализовывать код распаковки самостоятельно.

Также вы можете использовать pngout для оптимизации ресурсов изображения.

Другие вопросы по тегам