收藏
回答

高内存占用查找方法问题

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小游戏 需求 Android 8.0 MiMix2 7.0.3

- 需求的场景描述(希望解决的问题)

android上的性能数据面板,显示我们的游戏占用内存900MB+,经统计,我们的游戏纹理在内存中展开后的32位数据大小约300MB(Image的src已经清空,无mipmap),加上JS本身内存,和声音等,预计最多最多使用500MB内存,这和面板显示的数据差异很大。尝试各方面检查,也没找到具体原因,Chrome上运行时,通过Chrome的任务管理器查看,内存倒是基本相符。

CocosCreateor 2.0.9 + 微信7.0.3


- 希望提供的能力

希望 性能数据面板的内存占用数据,能够分的更详细,比如纹理使用内存大小,声音使用内存大小,虚拟机自己占用大小等等,既然你们能算出来这个内存占用量,这个分类数据应该有的吧。


现在搞的一点头绪都没有,如果你们有啥工具,或者有啥方法建议,告知一下也行,谢谢。

回答关注问题邀请回答
收藏

2 个回答

  • 0313
    0313
    2019-05-28

    hi,想请教下,你们游戏在chrome里就有500M占用那?那在微信里跑ok吗,不会直接报内存占用过多被关掉吗。 有没有看过微信开发者工具里,看下snapshot下来的内存占用是多少那?

    我们的游戏在开发者工具里看,才将近100兆,但是在ios上时不时会被认为占用内存过大关闭

    2019-05-28
    有用
    回复
  • 烧饼
    烧饼
    2019-04-15

    我好久以前就想找类似的工具了,以前还有TBS Studio能够以USB调试方式用类Chrome Devtools工具来调试内存,但后面不知道是某个微信版本还是基础库还是X5内核的问题,这种方式就失效了,然后能看内存的就只有预估了。


    性能面板我也用过,但我感觉它会记录很多东西,然后把它自己所占用的内存也计算在内,所以很难用。有好的方法的话也告诉我一下

    2019-04-15
    有用
    回复 2
    • 魔鬼之魂
      魔鬼之魂
      2019-04-17

      目前我们通过优化纹理尺寸,纹理加载时机,声音加载时机 等方式,得到了一定的效果。但明显感觉优化掉的尺寸和实际内存使用降低的尺寸不符,内存降低的尺寸要大于优化掉的尺寸。

      目前只能想办法优化自己的项目,没有其他头绪。

      2019-04-17
      回复
    • 烧饼
      烧饼
      2019-04-17回复魔鬼之魂

      小游戏的优化,我也不懂,我是小程序看到有同样的症状,就来讨论下。我就觉得性能面板的统计方法有问题,它会把日志的空间也算进小程序的运存里,关掉面板后就少了点内存。


      然后你可以参考自动化测试的教程,以前是能够用TBS Studio等方法来检测到JS Core/Webview的内容的,听他们说6.6.5以后封掉了。装回旧版的用TBS Studio可以测一下内存。

      2019-04-17
      回复
登录 后发表内容