zoukankan      html  css  js  c++  java
  • SharedObject自动保存问题

    在AS3的帮助文档中说:

    flush():将本地永久共享对象立即写入本地文件。 如果不使用此方法,则 Flash Player 会在共享对象会话结束时(也就是说,在 SWF 文件关闭时,在由于不再有对共享对象的任何引用而将其作为垃圾回收时,或者在调用 SharedObject.clear() 或 SharedObject.close() 时),将共享对象写入文件。 

    以前做项目时,测试过,好像是不能保存的。这次测试似乎又能保存了,不知道为什么?我的测试代码如下:

     1 <?xml version="1.0" encoding="utf-8"?>
    2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    3 creationComplete="init()" >
    4 <mx:Script>
    5 <![CDATA[
    6 import flash.utils.setTimeout;
    7
    8 private var _info:XML = new XML('<data ver="1.3"><item name="ywx" age="29" /></data>');
    9
    10 private function init():void
    11 {
    12 var tempSo:SharedObject = SharedObject.getLocal("test","/");
    13 tempSo.data.info = _info;
    14
    15 setTimeout(hoho,1000);
    16 }
    17
    18 private function hoho():void
    19 {
    20 setTimeout(hoho,1000);
    21 var tempSo:SharedObject = SharedObject.getLocal("test","/");
    22 trace(tempSo.data.info,"===");
    23 }
    24 ]]>
    25 </mx:Script>
    26 </mx:Application>

    在程序启动后,tempSo.data.info会保存一个xml对象,但没有调用过SharedObject的flush()方法,意味着info属性是没有保存到硬盘的sol文件里,此时关闭程序(关闭网页或者swf文件),将11-12行代码注释掉,再次编译运行,第22行输出还是有xml对象。就是说保存成功了。

    不知道这个自动保存功能是不是真的可靠呢?能否加以利用,项目中现在的做法是没对SharedObject有一个操作,立即调用了flush方法,如果这个自动保存是可靠的,那么就是不是可以省去每次操作后对flush的调用了呢?……

  • 相关阅读:
    初始化toolstrip
    XmlWriter.WriteString() problem__“.”(十六进制值 0x00)是无效的字符。
    C#使用Dotfuscator混淆代码的加密方法(转)
    新软件收钱老软件不能用的思路
    位标记
    编程的严谨性
    制作安装项目后无法保存图片
    学习泛型
    Sql Server 中一个非常强大的日期格式化函数
    淘宝api 桌面程序(cs,客户端)接入规则
  • 原文地址:https://www.cnblogs.com/ywxgod/p/2214051.html
Copyright © 2011-2022 走看看