切梦刀 发布的文章

Flash显示对象是否置于Stage上的最佳实践

这几天在解决场景滚屏“卡”的问题,一心想把CPU占用优化一些。优化前所有地图块加载后都会置于Stage上一起滚动,优化后将视野外的地图实时remove,理论上会有作用。实际测试下来数据如下:

 

改前

改后

起始物理内存

296M

254M

起始虚拟内存

291M

248M

起始AVM内存

213M

185M

结束物理内存

477M

286M

结束虚拟内存

471M

280M

结束AVM内存

399M

208M

CPU(单位:%

56~72,均值65

53~64,均值60

测试环境:

CPU2.3GHz单核、内存:3G、浏览器:IE6FlashPlayer Version11.2

由上可看出将不用的DisplayObject即时地从Stage移除,CPU消耗会有些减少,更可喜的是内在占用会有质的变化。

只是将Bitamp从显示列表remove,并未dispose bitmapData数据,可减少这么多内存占用。由此,可猜想显示对象在渲染时除对象自身占用内存外,还需要额外内存参与渲染。

希望有朋友能验证这个猜想。

深入分析AS3 TypeError: Error #1088: The markup in the document following the root element must be well-formed异常

在AS3里解析XML时遇到一“诡异”异常:TypeError: Error #1088: The markup in the document following the root element must be well-formed.

Air工程,SDK4.5,代码如下:

var f:File = new File("e:/demo.xml");
var fs:FileStream = new FileStream();
fs.open(f, FileMode.READ);
var xml:XML;
xml = XML(fs.readMultiByte(fs.bytesAvailable, "UTF-8"));
//后面省略

demo.xml文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<root>
    <item>abc</item>
</root>

异常堆栈:

TypeError: Error #1088: The markup in the document following the root element must be well-formed.
at XMLParse()[E:\Projects\XMLParse\src\XMLParse.as:15]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()

这段逻辑在之前执行过N次未出过问题,现在诡异了- -

开始解决

- 阅读剩余部分 -

FlashBuilder安装SVN插件-Subclipse

本文介绍Subclipse SVN插件的安装及使用,以下FlashBuilder SVN插件安装同样适用于Eclipse或基于Eclipse的IDE。

安装步骤:

  1. 打开FlashBuilder “帮助”->“安装新软件”;

  2. 在“使用”栏输入插件地址(不同版本对应地址见后面),如:http://subclipse.tigris.org/update_1.6.x

  3. 点击“添加”->“确定”,后面一直下一步直至结束;

各版本Subversion对应的插件地址:

- 阅读剩余部分 -

破解补丁解决“我们无法开始您的Adobe Flash Pro CS5 Subscription Edition订阅”问题

安装Adobe Flash CS5或Adobe CS5系列如PhotoShop CS5、DreamWeaver CS5等产品时常会碰到:

输入序列号->下一步->填写Adobe ID(未出现“跳过此步”按钮)->提示“我们无法开始您的Adobe Flash Pro CS5 Subscription Edition订阅”注册失败。

试用多组序列号问题依旧,最终弃用序列号选用“破解补丁”激活,补丁适用于Flash、PhotoShop、DreamWeaver、FireWorks等Adobe CS5全系列软件,使用方法(以Flash以例,其它类似):

- 阅读剩余部分 -