网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 图象图形-> Director-> 内存中对象的配置

内存中对象的配置
作者:佚名 来源:InterNet 加入时间:2005-2-7
相关文章
  • 影响DDR2内存的关键参数
  • 用好你的内存之SPD完全功略
  • 面向未来平台的串行内存模组(上)
  • 内存基础知识专题
  • 相关书籍:
  • WINDOWS程序员指南1--DLL和内存管理
  • 如何来释放那些被大对象所占用的内存呢?最简单的方法是:切断所有与对象的联系,它就被清除了。切断联系的意思是将所有指向该对象的变量重置为void(包括在演员表中的任何联系),通过如下语句可以实现它:set gMyGroovyObject = value(void) ,或者你也可以用set gMyGroovyObject = 0来实现。两种方法都不需要额外的代码或者外部句柄,Director允许通过给对象的指针赋予0值,来将其从内存中清除掉。这两种方法都有效。而用void的好处就是,这样看上去更像是将其从内存中清楚,而不是给它赋一个0值。

      这两种方法都可以释放内存中的对象,也都能保留未被使用的变量。这个变量是0还是void都没差别,他们都会占用最少的内存来存储一个值。

      lingo中变量占用内存的大小取决于这个变量存储内容的需要。从占用内存的角度来讲,变量被分为两种:简单变量和复杂变量,简单变量存储整数,符号,和指针。他们的大小是固定的,都是8字节。而复杂变量则用一个指针来指向内存中的另外一部分内容,那里存放着实际的内容。这样的复杂变量存储字符串,表,还有对象。当切断与”内存中的另外一部分内容“相关联的所有指针和联系,这部分被占用的内存就会被释放。例如,如果我们定义一个叫myobjectptr的变量来存储一个新的对象,他就存储了一个指向新对象的指针:myobjectptr占用的空间=指针本身占用的8字节+新对象所占用的内存空间。

      如果myobjectptr只是一个指向这个特定对象的一个指针,我们可以简单地用set myobjictptr=0 或者 VOIDl来释放这个对象所占用的内存空间,但是myobjectptr却还占用着一个简单变量所应该占用的空间。但是其余部分已经被释放了,在这个变量离开作用域而被彻底销毁时,它才真正地全部释放它所占用的内存。

      不同的lingo变量作用域有:

      1、本地作用域:一个句柄中创建的变量拥有本地作用域。当句柄结束时,它也就被销毁了,它的本地作用域就结束了。如果myobjectptr是一个本地作用域的变量,那么当它所在句柄未结束之前,它始终占用一个最小的内存空间。

      2、对象作用域:这是一种属性变量,他存在于一个对象中,或者对象中被其他关联变量所指向的表当中。属性变量将一直存在,直到包含它的那个对象再没有任何变量与之关联。如果 myobjectptr是一个对象中的属性变量,并且myobjectptr已经被清空,那么,他将一直占用一个最小的内存空间,直到包含他的那个对象销毁,也就是与对象相关联的其他变量全部切断。

      3、全局作用域:很明显,全局变量拥有全局作用域。他们将在电影或者projector退出之前一直存在。你可以使用clearglobals命令来清空所有全局变量,但这只能使全局变量的指向为空,除非他根本就没指向什么。尽管已经被清空,但是他还是将占用简单变量所需要占用的内存空间。如果myobjectptr是一个全局变量,并且被清空了。那么他将始终占用一部分空间,直到电影或者projector退出。

      总之,简单变量类型占用的内存最少。在没有脱离他们的作用域之前,你无法真正的清楚他们。而复杂变量也占用同样的内存空间,不过,他还要占用额外的空间来容纳复杂数据自己。对于那些复杂变量或者没有任何其他变量指向的复杂数据本身,你可以通过简单地将复杂变量清0或者使之为空,来释放那些额外占用的内存。

    [文章录入员:nancy]

    相关文章
  • 影响DDR2内存的关键参数
  • 用好你的内存之SPD完全功略
  • 面向未来平台的串行内存模组(上)
  • 内存基础知识专题
  • 相关书籍:
  • WINDOWS程序员指南1--DLL和内存管理
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    Director
    PhotoShop
    CorelDraw
    3D-MAX
    AutoCAD
    FreeHand
    Illustrator
    Authorware
    Director
    Maya/Rhino
    其它
    电脑教程阅读排行
    ·在Director中使用Powe...
    ·内存中对象的配置
    ·Director小技巧
    ·音频与数字视频、flash音频的...
    ·认识Director中的Xtra
    ·控制动画GIF
    ·Director中各种内部事件发...
    ·Director8行为库的应用
    ·用Lingo解决组合问题
    ·行为库创建技巧