IOS内存管理小结

1. IOS的内存性能参数


IOS平台与PC平台在内存管理上区别很大,由于硬件限制,IOS设备普遍只允许应用

程序使用很少的内存空间。


根据经验,在非高清设备上是20M,在ipad1和itouch4

上是30M,在ipad2和iphone4上要大一些,但也不超过50M。


由于IOS设备的显存是共享内存的,所以同时使用的贴图资源过多的话也会造成内
存不足,影响程序的性能和稳定性。经验值是不要超过20M。



2.Unity3D引擎的几种资源管理方式:


1.1 将资源做成gameobject放在scene中,跟随level一起加载和释放。这是Unity


推荐的方式也是最自然的管理方式。好处是使用简单,可以异步加载和释放。


1.2 将资源放在Resources目录下,使用Resources.Load来加载,使用


Resources.UnLoadUnusedAssets来释放。这种方式好处是可以灵活的动态加载,


坏处是必须自己写释放资源的代码,并且不支持异步。


1.3 将资源打包成asset bundles,使用WWW来加载和释放。好处是可以从web上下


载资源,支持异步。坏处是资源必须先打包,加载和卸载都需要写额外的代码来


处理。


3. IBABY开发中的实践


IBABY在开发过程中没有认识到内存管理的严重性,在开发后期测试和发布过程中


走了很多弯路,总结如下:
3.1 对开发过程中使用到的模型,贴图,动作,声音,XML配置等资源文件必须严

格控制其大小,尤其是UI贴图必须使用拼接的方式,避免不必要的大贴图出现。


3.2 提倡将资源放在level中管理,合理分割level。限制使用Resources目录,

确保Resources.Load加载的资源有对应的释放机制。


3.3 配置文件加载完后要及时释放,声音,特效等资源不要缓存,随用随加。但

要处理好异步加载。


3.4 要用好instruments工具,持续监测内存性能指标,及时解决内存不正常增长
的问题。


  以上内容是鄙人的一家之谈,未免失之偏颇,欢迎交流指正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值