Fluid idea for Life

随笔,杂记

Flash lite - ActionScript Stuck排错记

随着3G的到来,手机应用好象又开始升温了,不过总体上看,flash在手机应用上还处于起步阶段,把技术转换为简单实用的产品和服务,这中间还有很多路要走。 最近做的东西很杂,包括一个在手机上跑的Demo。环境是flash lite 2.0,在模拟器上跑Demo,一起正常,结果搬到真机上跑,出现了 Problem with content 4运行时错误,程序挂了。翻阅手册,发现是颇经典的“ActionScript Stuck”错误,肯定是哪块代码写的有问题,于是开始优化程序,所有不用的变量全部delete掉,仔细检查所有的循环,把for循环全部改为while循环,数组定长等等,不过错误依旧。

几经分析,最后锁定了下面的代码块:

var i:Number = 0;
var len:Number = messages.length;
txtField.text = "";</p>
<p>while( i &lt; len ){
        var s = messages[i]+"/n";
        txtField.text += s;</p>
<p>        i ++;
}

仔细一看,恍然大悟,略加修改为:

var i:Number = 0;
var len:Number = messages.length;
txtField.text = "";</p>
<p>var output:String = "";
while( i &lt; len ){
      var s = messages[i]+"/n";
      output+=s;
      i ++;
}
txtField.text = output;

再运行,ok。

按照我的理解是,每次修改动态文本的内容,解释器都会重绘文本对象,而这个动作位于循环中,造成了太多资料开销,结果就崩溃了。修改后,每次一次性更新文本,减少了重绘动作。一般来说,Flash中最耗资源的都是可视对象,因此,减少对可视对象的操作,能节约系统资源。 另外,图片尽量用gif格式。低质量的gif图片在pc上看起来往往色彩不连续,出现色带,但在手机上并无影响,毕竟手机的分辨率要低得多。

Tags: flash lite

上一篇: AS pdfBox 0.1
下一篇: 用python写手机小程序

访客评论

  1. #1 walktree 2009-03-06, 8:11 AM
    很抱歉,我的博客仅限于技术。
  2. #2 zhuoyue 2009-03-05, 8:46 AM
    您好
    想和你博客做个链接不知道行不?
    已经做好了你的连接哦 ^_^
    博客名称:  zhuoyue
    博客地址: www.shuji97.cn/

发表评论

评论内容:

点击获得Trackback地址