На всех устройствах под управлением Symbian OS v7.0s (Series 60 Developer Platform 2nd Edition, Series 80 Developer Platform 2.0, and Series 90 Developer Platform 2.0) можно значительно сэкономить память, выполнив сжатие выполняемых файлов. Под выполняемыми файлами будем понимать файлы GUI приложений (.APP), файлы динамических библиотек (.DLL) и серверные файлы (.EXE). Сжатие позволяет уменьшить размер файла на 30 - 40 процентов.
Чтобы использовать сжатие, просто добавьте директивуCOMPRESSTARGET в любое место файла проекта (.MMP) и перекомпилируйте его.
Время запуска сжатого приложения может отличаться от исходного, но, как правило, отличие не существенно. Выгоды от использования сжатия вообще перевешивают неудобства, поэтому я настоятельно рекомендую Вам его использовать.
Сжатие практически не сказывается на размере пакета инсталяции (.SIS), поскольку он по умолчанию производит архивирование приложения.
Приведу несложный пример
Example usage: (HelloWorldBasic.mmp)
COMPRESSTARGET
TARGET HelloWorldBasic.app
TARGETTYPE app
UID 0x100039CE 0x10005B91
TARGETPATH \system\apps\helloworldbasic
SOURCEPATH ..\src
SOURCE HelloWorldBasic.cpp
SOURCE HelloWorldBasicApplication.cpp
SOURCE HelloWorldBasicAppView.cpp
SOURCE HelloWorldBasicAppUi.cpp
SOURCE HelloWorldBasicDocument.cpp
SOURCEPATH ..\group
RESOURCE HelloWorldBasic.rss
USERINCLUDE ..\inc
SYSTEMINCLUDE \epoc32\include
LIBRARY euser.lib
LIBRARY apparc.lib
LIBRARY cone.lib
LIBRARY eikcore.lib
LIBRARY avkon.lib
Давайте сравним размер файлов и время их запуска. Тестирование проводилось на телефоне Nokia 6600.
Сравнение размера приложений
Тестируемые приложения | Несжаные | Сжатые |
HelloWorldBasic | 5,868 байт | 2,414 байт |
SoundMixer (available at Forum Nokia Web site) | 12,604 байт | 5,635 байт |
Example3D (available at Forum Nokia Web site) | 30,476 байт | 13,577 байт |
Сравнение времени запуска приложений
Тестируемые приложения | Несжатые | Сжатые |
HelloWorldBasic | 1.2 с. | 1.3 с. |
SoundMixer | 1.8 с. | 1.9 с. |
Example3D | 2.8 с | 2.9 с |
Перевод:Александр Ледков
Оригинал статьи можно найти здесь:http://www.forum.nokia.com/html_reader/main/1,,5757,00.html