守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 1792|回复: 0
打印 上一主题 下一主题

[移动平台] air for ios 移植经验-性能优化-内存优化。

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    52903
    钢镚
    1422

    开源英雄守望者

    跳转到指定楼层
    楼主
    发表于 2015-1-6 15:44:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    AIR for ios的跨平台技术,其中一个最致命的弱点就是内存。手机内存太少了,一个稍微大点的游戏,内存就爆了。那么我们怎么去优化呢?内存的计算方式: 位图的宽x高x4  通过这个算法可以得到你这个图片占用的内存,而不是在外面看的空间大小。内存优化方法:一 内存的重复使用:bitmapdata的重用,因为每个bitmaodata在内存里都会有一份内存池。我们通过技术手段让一模一样的位图,都是用同一个内存池,这样就达到内存的重复使用。实现方法:同一个图片资源的对象 bitmap可以全部引用同一个bitmapdata,这样就能达到内存的重用。在badyooframework里都是由位图管理器http://www.badyoo.com/badyooframework/doc/badyoo/badYooFrameWork/subassembly/BitmapManager.html完成这些操作的。

    二:二进制还原技术我们通过urlloader加载原位图的二进制文件,将期存放在数组里,等到要使用时,在通过 loader.loadByte进行还原。因为位图的二进制文件是占用很少内存,而且通过loadByte来还原速度很快。速度大约在20毫秒左右。这样能够用在一些静态图片上,当需要时直接还原。不需要时可以直接删除。

    三:运用flash ide绑定类来实习内存优化。第二中方法都是要加载原始位图文件来实现的,如果遇到很多图片时,加载速度就会很慢。这样在用户体验上就非常差了。那么我们可以通过flash ide 库的类绑定来解决这个问题。像下图,每个要使用的位图都对应绑定为bitmapdata,然后在使用第一种方法重复使用,就能达到内存优化,但是通过这个方法绑定的bitmapdata会触发flash player 10.1以上的新特性。http://www.badyoo.com/index.php/2012/05/28/105/index.html

    还有在flash builder里如果你想使用这些绑定好的类,那么只能使用swc库了。但是swc 库在flash builder里会出现一个问题。没有被引用的类,将不会编译进项目,这个情况相当糟糕,如果我们要用的是一些位图,总不能一个个的往代码里添加引用把。解决办法还是有的,在flash develop 跟flash builder 都有一个外部库绑定,但是这个方法在flash builder里不凑效,不知道为什么,在flash builder里设置成外部库完全没有用。
    那么我们只能通过编译器参数来实现外部库的绑定了。如下图:我们在flash builder项目的编译器参数里加入命令:-include-libraries swc的路径 这样就实现了外部库绑定了。

    本文来自:http://www.badyoo.com/87.html

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏 分享分享 支持支持 反对反对 微信
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2026-1-25 07:57 , Processed in 0.052062 second(s), 31 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表