开发者社区> waylau> 正文

Flex项目release后图片资源不见了–图片资源采用嵌入与不嵌入的区别

简介:
+关注继续查看

近期项目发现,在使用release发布项目包,图片找不到了,而debug下面又有图片。

后来发现,原来图片被另外一个组件嵌入了。

下面例子展示了组件嵌入和不嵌入图片的区别

<?xml version=”1.0″ encoding=”utf-8″?> <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″ xmlns:s=”library://ns.adobe.com/flex/spark” xmlns:mx=”library://ns.adobe.com/flex/mx” minWidth=”955″ minHeight=”600″> <fx:Declarations> <!– Flex项目release后图片资源不见了—-图片资源采用嵌入与不嵌入的区别 更多示例请访问www.waylau.com–> </fx:Declarations> <s:VGroup> <s:Panel title=”嵌入测试”> <s:HGroup> <s:Button id=”btn1″ icon=”@Embed(source=’images/close.png’)”/> <s:Button id=”btn2″ icon=”images/close.png”/> </s:HGroup> </s:Panel> <s:Panel title=”未嵌入测试”> <s:HGroup> <s:Button id=”btn3″ icon=”images/myIco.png”/> <s:Button id=”btn4″ icon=”images/myIco.png”/> </s:HGroup> </s:Panel> </s:VGroup> </s:Application> 
d8f9d72a6059252d7ee88d21369b033b5bb5b91c

btn1嵌入了的图片,btn2就无法引用了, 而btn3、btn4没有嵌入,所以都可以引用。 看release的文件btn1嵌入的图片close.png是看不到的,已经嵌入进swf, 而myIco.png是存在的。

2f738bd4b31c8701cd2322c3257f9e2f0708ff7a

嵌入图片和不嵌入图片各有利弊,嵌入图会加快访问图片的速度,但同时也增大了编译文件, 以下是一个错误的示例,多个文件嵌入了同一份资源save24.png,使得每个swf文件都变大了。要按照实际需要选择

a50f4bfbfbedab644ec3dde5f536afc379311e65

在上面的例子中当多个控件引用的是同一个资源时,嵌入图片用简单的变量访问方式,在多个地方引用所嵌入的资源。 这是变量就代表资源,提高写代码的效率

<?xml version=”1.0″ encoding=”utf-8″?> <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″ xmlns:s=”library://ns.adobe.com/flex/spark” xmlns:mx=”library://ns.adobe.com/flex/mx” minWidth=”955″ minHeight=”600″> <fx:Declarations> <!– Flex项目release后图片资源不见了,图片资源采用嵌入与不嵌入的区别 更多示例请访问www.waylau.com–> </fx:Declarations> <fx:Script> 
<![CDATA[ [Embed(source="images/close.png")] [Bindable] public var imgCls:Class; ]]> 
</fx:Script> <s:VGroup> <s:Panel title=”嵌入测试”> <s:HGroup> <s:Button id=”btn1″ icon=”{imgCls}”/> <s:Button id=”btn2″ icon=”{imgCls}”/> </s:HGroup> </s:Panel> <s:Panel title=”未嵌入测试”> <s:HGroup> <s:Button id=”btn3″ icon=”images/myIco.png”/> <s:Button id=”btn4″ icon=”images/myIco.png”/> </s:HGroup> </s:Panel> </s:VGroup> </s:Application>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
xcode反汇编调试iOS模拟器程序(七)Debug与Release的区别
首先自己写一段代码,加好断点,分别在Build Configuration为Debug和Release下运行,查看反汇编 - (void)test { UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10.
779 0
解决提交项目到GitHub,报错Please tell me who you are的问题
描述:         在第一次提交项目到GitHub时,出现了以下问题                  看了一下错误原因:Run git config --global user.email "you@example.
1655 0
我的mqtt协议和emqttd开源项目个人理解(25) - 协议里面Clean Session为0和1的区别
我的mqtt协议和emqttd开源项目个人理解(25) - 协议里面Clean Session为0和1的区别
48 0
flex 1119错误 找不到属性 static 解决方法,编译选项中选中 不启用rsl
flex 1119错误 找不到属性 static 解决方法,编译选项中选中 不启用rsl
445 0
软件构架师与项目经理的区别
关于软件项目经理与架构师的区别,来自于 Rational Edge的一句话很形象:       “在电影制作术语中,软件项目经理被称作制作人,因为他们决定需要做什么事情。
1207 0
+关注
waylau
大道至简! https://waylau.com/
265
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载