下载此文档

AS3 内存回收机制.doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
AS3内存回收机制一、AS3内存回收机制 1二、AS3内存回收机制 2三、AS3强制内存回收方法之二 3四、AS3释放内存 6五、AS3中的内存泄露与垃圾回收 8六、AS3内存释放优化原则 9七、as3内存回收机制测试 10八、AS3内存优化13条 12九、AS3的垃圾回收机制详解 14十、flashas3内存管理和资源管理 17十一、轻松几行让你AS3程序不再“内存泄露 18注意:本资源多半来源于互联网sword收集一、。非活动对象就是不再有任何其他活动对象引用它。为便于理解这个概念,有一点非常重要,就是要意识到除了非原生类型(Boolean,String,Number,uint,int除外),你总是通过一个句柄访问对象,而非对象本身。当你删除一个变量其实就是删除一个引用,而非对象本身。:引用计数法是一种用于跟踪活动对象的较为简单的方法,当你创建一个指向某个对象的引用,该对象的引用计数器加1;当你删除该对象的一个引用,,该对象将被标记以便垃圾回收器回收。vara:MovlieClip=newMovieClip();addChild(a);//a的引用计数器为1varb:MovieClip=a;//a的引用计数器为2addChild(b);removeChild(a);a=null;//a的引用计数器为1removeChild(b);b=null;//a的引用计数器为0其次是标志清除法:清除法查找非活动对象。FlashPlayer从你的应用程序根对象开始()直到程序中的每一个引用,都为引用的对象做标记。接下来,FlashPlayer遍历所有标记过的对象。它将按照该特性递归整个对象树。并将从一个活动对象开始能到达的一切都标记。该过程结束后,FlashPlayer可以安全的假设:所有内存中没有被标记的对象不再有任何活动引用,因此可以被安全的删除。下图就是那张十分有名的图了:                                    绿色引用(箭头)曾被FlashPlayer标记过程中经过,绿色对象被标记过,白色对象将被回收。最后就是几种比较常见的内存泄露情况:        :对子对象的引用,外部对本对象或子对象的引用都需要置null;         :使用了系统类而忘记做删除操作了,(),()()函数来清除引用,否则使用此函数的对象将不会被删除;类似的还有MUSIC,VIDEO,IMAGE,TIMER,EVENT,BINDING等。       :当对组件应用效果Effect的时候,当本对象本删除时需要把本对象和子对象上的Effect动画停止掉,然后把Effect的target对象置null;如果不停止掉动画直接把Effect置null将不能正常移除对象。      :要完全删除一个SWF要调用它的unload()/unloadAndStop()方法并且把对象置null;       :当Image对象使用完毕后要把source置null,加载图片的时候最好draw一个出来,然后将loader处理掉。       、视频泄露:当不需要一个音乐或视频是需要停止音乐,删除对象,引用置null;二、AS3内存回收机制AS3通过垃圾回收(GarbageCollection)移除不需要的对象,它需要一定条件。AS3中的对象被回收需要达到一定条件:1、 该对象无法通过任何变量访问。也就是没有变量指向该对象,或者指向该对象的变量生命周期结束。2、 程序中所有对象所占的内存接近当前系统分配给Flash运行的内存容量时,触发回收机制,移除符合条件1的对象。这里的第二个条件我们无法控制,没有办法手工强制执行垃圾回收,所有不用的对象都是间接移除,也就是不可能即刻移除。这和ActionScript的IncrementMarkAndSweep移除策略有关。不再详细讨论。那么我们要做的工作就是满足第一个条件,让对象符合被回收的条件。总结一下如何来满足条件:1、移除该对象的所有引用,也就是所有引用该对象的变量赋值为null,或刻意的限制该变量的生命周期。2、对于显示对象或某个数组中的元素,应该在显示列表或该数组中将其移除,再赋值null。3、该对象注册的所有事件侦听应该被移除,否则该事件依然运行(内存中还在

AS3 内存回收机制 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人szh187166
  • 文件大小87 KB
  • 时间2018-09-16
最近更新