微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FLASH内存优化13条

http://bbs.9ria.com/forum.PHP?mod=viewthread&tid=67958&highlight=%E5%86%85%E5%AD%98

这篇算是读书笔记吧,边读边记,一来用简练语句分享,二来加深学习印象!关于内存优化总结了13条!错误请指正,欢迎跟帖补充!我会继续努力抽时间写一些读书笔记到个人博客9stg.com和天地会,欢迎大家交流!共同进步!


1. 使用合适的显示对象,对于非交互的简单形状用Shape对象,对于不需要时间轴的交互式对象用Sprite,对于使用时间轴的动画用MovieClip,他们的 内存 使用量分别是236,412,440,可见shape很省 内存

2. Number原始存储 占8个字节,int,uint,Boolean,String均占4个字节,关于赋值后作占 ,取决值赋的值
3. 对象的重复利用,在FOR循环内new对象要小心,每次new都会增大
4. 通过重复使用 BitmapData 对象可以节省更多的 ,即不同的bitmap公用一个bitmapdata
5. 重复使用相同对象的时候,可以考虑下对象池的应用
6. 垃圾回收运行时会不断检测出处于非活动状态的对象,大型项目中此进程会占用大量cpu,所以尽量重使用对象,不用的对象设置为NULL
7.  释放方面,为了确保被垃圾回收,首先保证该对象没有其他引用,然后移除监听,在然后设置为NULL。关于bitmapdata,先用dispose 在设置为null
8. 在 Flash Player 10.1 中,对所有bitmapdata实例采用同一版本的bitmapdata,大大节省了 中会建立一个新的bitmapdata实例
9. 尽量避免使用滤镜,当对显示对象使用滤镜的时候, 中将创建两个位图,每个位图的大小都与显示对象相同。一个显示对象的栅格化版本,一个是用于滤镜的位图
10. 当修改滤镜的属性的时候, 中两个位图都将更新创建新的位图,会消耗一些cpu,并且会占用大量 11. Flash Player 10.1 在所有平台上引入了一种新的过滤行为。如果滤镜在 30 秒内没有进行修改,或者将其隐藏或置于屏幕之外,将释放未过滤的位图占用的 。该方式成为动态位图卸载。
12. 使用滤镜时仍要谨慎小心;在对它们进行修改时,仍要求大量 cpu 或 GPU 处理。
13. 如果想要滤镜效果,最好用PHOTOSHOP来做一个

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐