Flash为什么会内存泄漏?如何解决?flash的垃圾回收机制是怎样的?
2012-01-19 11:46
567 查看
内存泄漏产生的原理:
原理是当不小心留下了对对象的引用,会使它占用的内存无法回收,这样累积下来会让占用内存持续增长,就会导致内存泄漏。
内存泄漏的解决办法:
1.
要及时移除监听函数。
2.
如果为了避免忘记移除监听,那么有三种方法:a.监听函数使用弱引用
b.
为对象添加的监听处理函数是对象本身的方法.c.
为子对象添加的监听处理函数是父级对象的方法。
3.
当不再需要使用引用的对象时,要把引用设为null。
4.
[/b]利用
Flex
的性能优化工具 Profile
来对项目进程进行监控
关于垃圾回收机制:
垃圾回收机制的原理[/b]:没有访问某对象的引用,垃圾收集器就会回收对象曾占有的内存。垃圾回收机制的两种方法[/b]:引用计数、标记-清除。垃圾回收的时机[/b]:在Flash Player需要另外请求内存之前。这样,Flash Player可以重新利用垃圾对象所占用的内存资源,并且可以重新评估需要另外请求的内存数量,也会节省时间。而且只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收。
原理是当不小心留下了对对象的引用,会使它占用的内存无法回收,这样累积下来会让占用内存持续增长,就会导致内存泄漏。
内存泄漏的解决办法:
1.
要及时移除监听函数。
2.
如果为了避免忘记移除监听,那么有三种方法:a.监听函数使用弱引用
b.
为对象添加的监听处理函数是对象本身的方法.c.
为子对象添加的监听处理函数是父级对象的方法。
3.
当不再需要使用引用的对象时,要把引用设为null。
4.
[/b]利用
Flex
的性能优化工具 Profile
来对项目进程进行监控
关于垃圾回收机制:
垃圾回收机制的原理[/b]:没有访问某对象的引用,垃圾收集器就会回收对象曾占有的内存。垃圾回收机制的两种方法[/b]:引用计数、标记-清除。垃圾回收的时机[/b]:在Flash Player需要另外请求内存之前。这样,Flash Player可以重新利用垃圾对象所占用的内存资源,并且可以重新评估需要另外请求的内存数量,也会节省时间。而且只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收。
相关文章推荐
- 为什么JAVA的垃圾回收机制无法避免内存泄漏
- flash垃圾回收机制,内存泄漏的常见情况及内存释放优化的原则
- flash垃圾回收机制,内存泄漏的常见情况及内存
- 构建高性能ASP.NET站点 第七章 如何解决内存的问题(前篇)―托管资源优化―垃圾回收机制深度剖析
- 【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前篇)—托管资源优化—垃圾回收机制深度剖析
- 【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前篇)—托管资源优化—垃圾回收机制深度剖析
- 【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前篇)—托管资源优化—垃圾回收机制深度剖析
- 深入浅出Java垃圾回收机制(2)——如何监控Java垃圾回收机制
- 如何监控Java垃圾回收机制(二)
- 如何监控Java垃圾回收机制2
- C++ 为什么不加入垃圾回收机制
- Android开发之浅谈垃圾回收机制GC以及如何用好GC
- 垃圾回收机制如何优化程序
- 为什么我们批评C++?又爱又恨的垃圾回收机制
- jvm(3)—如何优化Java垃圾回收机制
- 内存泄漏,垃圾回收机制
- 如何优化Java垃圾回收机制3
- oc中没有gc(垃圾回收机制),苹果是如何处理的?
- jvm垃圾回收机制(二)算法和如何进行判断对象是否回收实例
- 成为Java GC专家系列(3) — 如何优化Java垃圾回收机制