客户端优化经验

从项目中积累了一些客户端性能优化经验
     1.目前项目的在手机上跑,内存占用最大的是UI。在profile下看,一张2048的大图集占用的内存比一张1024的图集占用的内存要多出一倍,大概8M。所以优化方案是拆分图集,把大图集按功能分割成若干小图集(做成1024*1024),把单独的大图独自拉出来用UITexture异步加载。可以使内存大大优化。
    2.目前项目的内存均值其实不高,但是峰值比较高。原因是没有重用内存实例化的gameObject,当特效或者角色的gameObject的逻辑实体destroy时,把gameObject也一并Destroy,创建销毁这一过程导致内存峰值增大。优化方案是在Destroy特效或者角色的GameObject时把GameObject缓存起来,减少创建销毁次数。当需要用相同的特效或者角色时直接在缓存池中取GameObject。在跨场景时把缓存池里的GameObejct Destroy掉。
    3.目前的UI 公用图集修改时,所有依赖用到此公有图集的UI打包时都和原来的不同(即时没有修改)。这样,我们做热更版本时,如果要修改公有图集,那么所有UI打包时都和之前的不一样,从而使打出来的热更包很大。原因是打包android UI创建的etc图集时,生成材质和两张etc图(一张透明图,一张不透明图),材质是每次都是直接new出来,没有用上次已有的材质。所以打出来的UI都和上次都不同。解决方案是,重用之前已经打出来的etc材质,这样修改公有图集时,不会把所有UI都重打,从而热更包的体积大大减少。
    4.不透明图片不要用png,用jpg体积会小一点。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值