Used Total和Reserved 均是物理内存,其中Reserved是unity向系统申请的总内存,Unity底层为了不经常向系统申请开辟内存,开启了较大一块内存作为缓存,即所谓的Reserved内存,而运行时,unity所使用的内存首先是向Reserved中来申请内存,当不使用时也是先向Reserved中释放内存,从而来保证游戏运行的流畅性。

一般来说,我们均建议尽可能地控制Used Total的大小,Used Total越大,则Reserved Total越大,而当Used Total降下去后,Reserved Total也是会随之下降的(但并不一定与Used Total同步)。

通过PSS来查看移动端的内存是相当不准确的。Profiler记录的是通过引擎分配的真实物理内存,而PSS中多出的内存大致分为两部分,一部分是App在运行会调用底层的一些核心库,这些库都会占用一定的内存;第二部分则是移动系统决定的,即虽然游戏中已经将资源卸载掉,但在系统层面上,系统并不会及时将其清除,而是将其缓存住,这样做的处理是为了便于以后该资源的复用效率,同时,当系统的内存分配达到上限时,系统本身会调用内存清理机制来轮询这些缓存区域,进而释放内存。

ManagedHeap的内存值是由所写的C#代码来引起并造成的,建议时刻关注CPU Profiler中的GC Collcet值,查看由哪些选项分配较大或不断分配GC Allocation。这个是造成ManagedHeap不断增大的原因。

GfxDriver可以理解为GPU显存开销,主要由Texture,Vertex buffer以及index buffer组成。所以尽可能地减少或释放Texture和mesh等资源,即可降低GfxDriver内存。

ManagedHeap(mono内存)的大小与你的GameObject数量、资源量无关,仅是你的代码造成的。

如果是在Editor中运行时,那么该数值是会比较大,因为编辑器运行游戏时,底层会做很多额外的事情,比如更多的log输出等,从而占据较多的堆内存。

而如果在真机运行时看到该数值时,那么80M是比较大的,这个需要你对你的代码来进行优化,避免一些不必要的堆内存分配。比如,不要总是new一个class、array、container等等。你可以在CPU Profiler中的GC Alloc处查看游戏每帧的堆内存分配。

同时,Managedheap的大小完全是有Mono来决定的,用户所写的任何脚本均是由Mono来负责解析。同时,Mono的堆内存是只升不降的,这是Mono的一个问题,Unity暂时也无法对其进行修改。因此,只能建议开发者在编写代码时尽可能地优化嗲吗,避免不要的堆内存分配。

最新文章

  1. Git 少用 Pull 多用 Fetch 和 Merge
  2. llvm-summary
  3. 【Java EE 学习 54】【OA项目第一天】【SSH事务管理不能回滚问题解决】【struts2流程回顾】
  4. div层调整zindex属性无效原因分析及解决方法
  5. phpcmsv9多表联合查询分页功能实现
  6. suspend
  7. CSS技巧-rgba函数的妙用
  8. 【VerySky原创】RPR_ABAP_SOURCE_SCAN
  9. Laravel Predis Error while reading line from the server.
  10. php文件hash算法,秒传原理
  11. 已知一指针p,你可以确定该指针是否指向一个有效的对象吗?如果可以,如何确定?如果不可以,请说明原因。
  12. Git使用汇总
  13. python库termcolor用法
  14. 微信小程序之换肤的功能
  15. Android-Java-接口Interface
  16. vue中less的使用
  17. vue 登录前做校验this.$router.push(location)
  18. ionic1项目中 ion-slide轮播用ng-repeat遍历数据后自动循环出问题
  19. ElasticSearch + Logstash + Kibana 搭建笔记
  20. C#创建基本图表(Chart Controls)

热门文章

  1. asp.net c# select 动态加载数据
  2. MSVC环境,Qt代码包含中文无法通过构建的解决方案
  3. git文章列表
  4. appium(4)-Automating mobile web apps
  5. 将前端文件和Go程序打包
  6. Protocol_OSPF
  7. Android Weekly Notes Issue #252
  8. HTML中级教程 元标签
  9. linux /usr /var /etc 目录
  10. 机器学习: 特征脸算法 EigenFaces