我是一名flex程序员,但我无法处理管理我项目中的内存。我认为缺乏内存管理是加载swf文件滞后的原因。任何人都可以帮助我如何处理flex/as3代码中的内存管理。flex程序中的内存管理
0
A
回答
4
内存中最有问题的用途之一就是在您不再需要它们时不移除事件侦听器。
例如
button.addEventListener(MouseEvent.CLICK, doSomething);
当你与该按钮操作完成后删除事件侦听器,以便“DoSomething的”的所有者可以被垃圾收集。当您向按钮添加事件侦听器时,“doSomething”的引用计数的所有者将被+1。每次你删除一个引用计数的事件监听器你-1。为了垃圾收集,引用计数必须为零。
可以让flash播放器为你做这个(在大多数情况下),通过使用弱引用的事件监听器,像这样:
button.addEventListener(MouseEvent.CLICK, doSomething, false, 0, true);
下面是一些提示,以帮助您的内存管理:http://blog.skinkers.com/2010/10/08/memory-management-in-air-as3-flash-garbage-collection/
如果您想了解详细的垃圾收集器,这里是一个梦幻般的资源:http://jpauclair.net/2009/12/23/tamarin-part-iii-current-garbage-collector-in-flash-10-0/
相关问题
- 1. 内存密集型应用程序中的内存管理
- 2. .Net应用程序内存管理
- 3. MVC应用程序内存管理
- 4. 峰Flex Flex中的AIR应用程序中的内存
- 5. iOS编程中的内存管理
- 6. 多线程应用程序中的字典(内存管理?)
- 7. 跨进程内存管理
- 8. 内存管理和进程
- 9. 内存管理环境中的内存管理
- 10. H2O中的内存管理
- 11. perl中的内存管理
- 12. ARC中的内存管理
- 13. C++中的内存管理。
- 14. PhoneGap中的内存管理
- 15. AngularJS中的内存管理
- 16. Swift中的内存管理
- 17. GUI中的内存管理
- 18. Javascript中的内存管理
- 19. java中的内存管理
- 20. iOS中的内存管理
- 21. .NET中的内存管理
- 22. Android中的内存管理
- 23. Java中的内存管理
- 24. iPhone应用程序中的C代码的内存管理
- 25. 内存管理
- 26. 内存管理
- 27. 内存管理
- 28. 内存管理
- 29. 内存管理
- 30. 内存管理
如果我的回答适合您的需求,请考虑接受其为正确答案。 – ThomasM
这是部分正确的,因为GC使用其他机制(例如检测循环引用)来标记不再需要的实例。 – LoremIpsum
有效的点,但一般来说,这是最常见的用例。 – ThomasM