致女程序员

《致女程序员》

她们,
踏实、淳朴;
不过多的粉饰表面,
向世人展示一个自信、真实的自己。
她们,
细腻、理性;
只因爱好与理想,
就愿默默地生活在这样的行业里。

她们,
生来本是美丽的公主;
却,
甘心埋在书堆,住在电脑里。
她们,
本可与爱人相偎相依;
竟,
情愿陪我们 Coding 至深夜里。

她们,
是荒漠里娇艳花朵;
美丽却坚强不息。
她们,
是山涧里的一股清泉;
甘甜而沁人心脾。
谨以此文献给与我们曾经或现在并肩作战在一线的程序妹子!

Flash命令行编译mxmlc参数说明

以下参数说明是以“mxmlc -help list advanced details”命令得到,权当作个记录,SDK版本:4.0.0

Adobe Flex Compiler (mxmlc)
Version 4.0.0 build 14159
Copyright (c) 2004-2009 Adobe Systems, Inc. All rights reserved.

-benchmark
输出性能基准

-compiler.accessible
别名 -accessible
生成可访问的 SWF

-compiler.actionscript-file-encoding <string>
别名 -actionscript-file-encoding
指定 Actionscript 文件编码。如果 AS3 源文件中没有 BOM,则编译器将使用此文件编码。

- 阅读剩余部分 -

LUM 缓存文件写入失败!:.//Runtime/Cache/d3ec9c68406519fa6f2eb840138e789f.php

LuManager 缓存文件写入失败!:.//Runtime/Cache/d3ec9c68406519fa6f2eb840138e789f.php 问题这几天频频出现。

cache-write-error.jpg

刚开始以为系统有问题,重装Linux后解决,两天后问题依旧。

装完LuManger后还装了Socks5代理服务器,其它没太大改变。初步猜测是硬盘空间不足导致“缓存文件写入失败!:.//Runtime/Cache/d3ec9c68406519fa6f2eb840138e789f.php”。

du -sh ./*依次排查定位到

6.7G ./ss5.log

我硬盘只有10G,果然是空间不足导致,问题找到解决就简单了,关闭Socks5的Log输出。

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次未出过问题,现在诡异了- -

开始解决

- 阅读剩余部分 -