我想使用Delphi制作应用程序。问题是我将有很多TImage
组件 - 这将使exe大小非常大。到目前为止我的exe是20MB大,我只完成了主页,根据我的计算,单独的exe大小将超过10GB - 这太多了。
如何制作包含数百/数千张图片的应用程序,然后让exe文件变小?
答案 0 :(得分:12)
不要将图像放在可执行文件中。将它们保存在外部文件中并在运行时加载它们。
这将要求您在设计时停止将图像加载到TImage
控件中,而是使用动态代码加载图像,然后转移到TImage
控件。这样做有很多好处:
TImage
将以非常低效的方式持久存在.dfm文件中。您可以选择使用PNG或JPEG压缩。答案 1 :(得分:2)
如果您不需要将图像保持原始尺寸,可以在程序启动时阅读它们并将它们缩放到“工作”状态。尺寸。这将极大地降低您的内存需求 - 例如,将图像缩小到原始宽度和高度的一半会将内存需求降低到原始图像的四分之一。
如果图像没有变化,您可以在单独的构建过程中离线执行此操作,并减少加载时间。否则,您可以在加载过程中缓存缩小的图像,以便在下次启动程序时加快速度。
答案 2 :(得分:1)
您可能会发现二进制代码将所有图像都包含为PNG文件格式,因此它将为您编译极大的应用程序大小。
我在运行时使用图像作为JPG,因此在表单的OnCreate
事件中,您可以从包中加载。
使用“项目”菜单“部署”将您的JPG文件包含在APK中。
您可以在这里阅读更多内容: http://blogs.embarcadero.com/davidi/2013/11/23/43005/