我使用Flash Builder 4.5有一个相当大的Flex / Flash Builder项目。我想创建另一个使用该原始项目中的一些组件的项目。在新项目中,我将资源与原始项目链接,它工作正常,但新项目的文件大小非常大。它接近原始项目的文件大小,即使它只使用了一小部分组件和资产。有没有更好的方法来最小化新项目的文件大小?
答案 0 :(得分:10)
您应该将所有常见的可重用代码分成一个或多个库项目。在FlashBuilder中,您无法将项目的性质从应用程序转换为库,因此您必须创建一个空白库项目并复制两个项目中可用的代码。
在最简单的形式中,项目结构应如下所示:
Flex app project A (swf) \
Flex library project (swc)
Flex app project B (swf) /
现在要使用该库,请转到'属性> “Flex Build Path”,单击“添加项目...”按钮,然后选择刚刚创建的库项目。
现在您已链接到该项目,您希望选择引用组件的链接方式。 (双击“链接类型”进行编辑。)
通过链接项目的方式,FB显然只是将项目A中的所有类编译成项目B.这显然不是你想要的。这些是您的链接选项(对于应用程序项目):
选择哪个选项取决于具体情况,完全取决于您。我建议你到处看看自己的区别(使用真正的服务器,因为在本地服务器上你不会感觉到加载时间。)
我还应该提到外部链接选项,它不会将任何类编译到主应用程序中,也不会在运行时加载它们。这主要用于将在同一主应用程序中用作RSL的库之间的依赖关系。
答案 1 :(得分:3)
你一定要看看用-link-report
标志进行编译的内容。这将打印依赖关系图,并向您展示为什么使用这么多资源。
如果你不知道怎么做:有一个地方你可以在项目设置中添加编译器参数 - 通常FB添加-locale = en_US那里(你实际上可能不需要),添加-link -report = report.xml并编译。它将在项目的根目录中生成一个xml文件。打开它并检查。
http://www.kahunaburger.com/2008/03/08/air-link-report-visualizer/我没有使用这个程序,但它似乎给出了很好的依赖关系的可视化表示 - 也可能有用。