Перейти к содержанию
Fire Monkey от А до Я
  • 0

Размер компилируемого файла


Menkos1

Вопрос

Использовал среду XE6, компилируемый файл ЕХЕ, с использованием FireMonkey Form

после компилирования, размер ЕХЕ файла был 9мб.

Установил XE10.1, после компиляции файл стал 12.8мб, что могло повлиять ?

Помогите разобраться и отключить не нужные опции, чтобы уменьшить размер.

Ссылка на комментарий

Рекомендуемые сообщения

  • 1
  • Модераторы

скорей всего стили платформенные

win7style   			RCDATA "styles\platform\win\Win7.fsf"
win8style   			RCDATA "styles\platform\win\Win8.fsf"
win10style   			RCDATA "styles\platform\win\Win10.fsf"
32761 				CURSOR "Controls_cur32761.cur"
32762 				CURSOR "Controls_cur32762.cur"
32763 				CURSOR "Controls_cur32763.cur"
32766 				CURSOR "Controls_cur32766.cur"
32767 				CURSOR "Controls_cur32767.cur"

сейчас (Seattle/Berlin) такие платформ-стили на Win

Ссылка на комментарий
  • 0
25 минут назад, Равиль Зарипов (ZuBy) сказал:

скорей всего стили платформенные


win7style   			RCDATA "styles\platform\win\Win7.fsf"
win8style   			RCDATA "styles\platform\win\Win8.fsf"
win10style   			RCDATA "styles\platform\win\Win10.fsf"
32761 				CURSOR "Controls_cur32761.cur"
32762 				CURSOR "Controls_cur32762.cur"
32763 				CURSOR "Controls_cur32763.cur"
32766 				CURSOR "Controls_cur32766.cur"
32767 				CURSOR "Controls_cur32767.cur"

сейчас (Seattle/Berlin) такие платформ-стили на Win

Спасибо уважаемый.

Т.е. получается это в порядке вещей ? - или все же стоит по отключать все это, чтобы уменьшился размер на 3мб ?

Ссылка на комментарий
  • 1
  • Модераторы
51 минуту назад, Menkos1 сказал:

Спасибо уважаемый.

Т.е. получается это в порядке вещей ? - или все же стоит по отключать все это, чтобы уменьшился размер на 3мб ?

я бы не рекомендовал отключать стили.

если нужен малый размер приложения, то это релиз сборка и упаковщик (upx, aspack и тд...)

но я бы не заморачивался над этим

Ссылка на комментарий
  • 0
Только что, Равиль Зарипов (ZuBy) сказал:

я бы не рекомендовал отключать стили.

если нужен малый размер приложения, то это релиз сборка и упаковщик (upx, aspack и тд...)

но я бы не заморачивался над этим

Ну это разумеется что я в курсе за upx и после сжатия становится 5мб, просто изначально был вопрос с чего вдруг ресурсы выросли на 3+мб.

ну раз - это в порядке вещей, тогда отложим этот вопрос.

Спасибо еще раз.

Ссылка на комментарий
  • 1
3 часа назад, Равиль Зарипов (ZuBy) сказал:

я бы не рекомендовал отключать стили.

если нужен малый размер приложения, то это релиз сборка и упаковщик (upx, aspack и тд...)

но я бы не заморачивался над этим

Я бы не пользовался упаковщиками исполняемых файлов, т.к. размер самого файла уменьшается, а вот оперативной памяти такой упакованный файл начинает жрать в 2-3 раза больше.

Ссылка на комментарий
  • 0
8 минут назад, HyperZen сказал:

Я бы не пользовался упаковщиками исполняемых файлов, т.к. размер самого файла уменьшается, а вот оперативной памяти такой упакованный файл начинает жрать в 2-3 раза больше.

Мм, а можно по подробней, как это навредит системе, если приложение весом под упаковщиком в 5мб, будет жрать память 20-50мб ?

Ссылка на комментарий
  • 2
33 минуты назад, Menkos1 сказал:

Мм, а можно по подробней, как это навредит системе, если приложение весом под упаковщиком в 5мб, будет жрать память 20-50мб ?

 

Системе не навредит, просто смысла в этом нет. Лучше упаковать архиватором, или инсталлятором.

Упакованные exe распаковываются целиком в память, и остаются там до конца, плюс дольше запускаются.

Не упакованные exe загружаются по сегментам, частично, только то, что нужно. http://api.farmanager.com/ru/articles/packers.html

 

Я такой обычно код вставляю в dpr файл, для Windows проектов.  

uses
 Windows;

{$IFDEF RELEASE}
    {$SETPEFlAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or
         IMAGE_FILE_LINE_NUMS_STRIPPED}
    {$WEAKLINKRTTI ON}
    {$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])}
{$ENDIF}

Конечно же нужно выбрать Release в Build Configurations в правой панели.

Есть смысл упаковывать вирусы итп, чтобы быстрее скачать, чтобы зашифровать и сменить сигнатуру. Или кеиген или что-то подобное.

Изменено пользователем ENRGY
Ссылка на комментарий
  • 0
1 час назад, ENRGY сказал:

 

Системе не навредит, просто смысла в этом нет. Лучше упаковать архиватором, или инсталлятором.

Упакованные exe распаковываются целиком в память, и остаются там до конца, плюс дольше запускаются.

Не упакованные exe загружаются по сегментам, частично, только то, что нужно. http://api.farmanager.com/ru/articles/packers.html

 

Я такой обычно код вставляю в dpr файл, для Windows проектов.  


uses
 Windows;

{$IFDEF RELEASE}
    {$SETPEFlAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or
         IMAGE_FILE_LINE_NUMS_STRIPPED}
    {$WEAKLINKRTTI ON}
    {$RTTI EXPLICIT METHODS([]) FIELDS([]) PROPERTIES([])}
{$ENDIF}

Конечно же нужно выбрать Release в Build Configurations в правой панели.

Есть смысл упаковывать вирусы итп, чтобы быстрее скачать, чтобы зашифровать и сменить сигнатуру. Или кеиген или что-то подобное.

Да Release и выбран.

На счет сжатия - я понял, буду иметь введу.

А на счет кода, я понял что вы его используете, но вы не пояснили с какой целью, поясните пожалуйста.

Ссылка на комментарий
  • 1

Menkos1

Это код для уменьшения размера exe под Windows. Добавляшь в Dpr файл (Project > View Source),  выбираешь Release в правой панели, затем Project  > Build. Размер еще уменьшиться.

Правда потом нужно протестировать программу. На VCL с этими директивами у меня проблем никогда не было, - в смысле каких то багов в программе. На FMX не пробовал (я FMX пока только под моб. девайсы использую)

Ссылка на комментарий
  • 0

ENRGY

 

Да спасибо, был размер 12,800кб, стал 11,032кб - уже хоть что-то.

а на счет Release - он и выбран у меня, для теста выбрал Debug и скомпилировал - размер не увеличился так же 11,032кб

 

0002.PNG

Ссылка на комментарий
  • 0

Скачал приложение "График смен", весит 5 мБ. У нас только "Hello world" весит 11 метров. Думал, может на Яве меньше получится, установил Intelli IDEA, скомпилировал пустую форму, получил 10 метров... Как, блин, так делается? Почему есть полноценные приложения в полтора - два метра? На чём их творят? 

Ссылка на комментарий
  • 0

что за детский сад

на андроиде приложения весят 400К и при этом используют библиотеки Java на 2G

это как - маленькие или большие приложения?

то же с .NET

Приложение с пустой формой тащит за собой весь функционал, который вы можете использовать, при этом не требуя установки дополнительных run-time библиотек, чем, собсн, всегда и хороша была Делфи

mp3 файл весит 8-10 мб. а 5 сек видео "опы - 120.  Не видел я чтобы кто-то плакал по этому поводу

Ссылка на комментарий
  • 0

Когда вы говорите, что приложения на Андроиде весят 400КБ и используют библиотеки Java размером 2ГБ, вы, по-видимому, имеете в виду разницу между размером исполняемого файла приложения и размером всех библиотек, которые оно может использовать во время выполнения.

Современные фреймворки, такие как Java для Android или .NET, часто используют большое количество библиотек, которые содержат общий код, используемый многими приложениями. Эти библиотеки обычно устанавливаются один раз и затем используются множеством приложений, поэтому их размер не влияет на размер каждого отдельного приложения.

С другой стороны, приложения, созданные с использованием Delphi, обычно компилируются в нативный код и включают в себя все необходимые библиотеки и зависимости. Это может привести к тому, что исполняемые файлы будут больше, чем если бы они использовали общие библиотеки, но они не зависят от установленных библиотек времени выполнения.

С точки зрения конечного пользователя, размер приложения часто не является ключевым фактором, особенно с учетом того, что современные устройства имеют большое количество памяти. Однако для разработчиков может быть важно минимизировать размер приложения, чтобы сократить время загрузки и уменьшить использование ресурсов.

В итоге, вопрос "маленькие или большие приложения" зависит от контекста и требований конкретного приложения. В некоторых случаях использование общих библиотек может быть выгодно, в других - предпочтительнее иметь самодостаточное приложение с включенными в него всеми необходимыми библиотеками.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...