首页 > Unity3D频道 > 【Unity3D拓展编辑器】 > Unity3D研究院编辑器之脚本获取资源内存和硬盘大小(二十五)
2016
10-29

Unity3D研究院编辑器之脚本获取资源内存和硬盘大小(二十五)

内存

使用Profiler可以查看某个资源的内存占用情况,但是必须启动游戏,并且待查看的资源已经载入游戏中。我希望的是不启动游戏,也能看到它的内存好做统计。

硬盘

由于unity中的资源压缩格式记录在meta中所以,在文件夹中看到的资源大小是不正确的。打开unity需要选择一个资源,比如Texture、然后在右侧Inspector面板最下面可以看见它真实的硬盘占用。这个数据我也希望那个可以脚本取到,这样我好做统计工具。

在Project视图中先选择一个Texture  然后点击menuitem (“1/1”)即可

内存的话unity提供了API Profiler.GetRuntimMemorySize。

硬盘的话unity没有提供,我查看了它的源码需要通过反射可以获取到。如果你还想查看别的资源的硬盘占用,自行查看一下他editor下的代码,用上面这样的代码反射获取出来即可。

Unity3D研究院编辑器之脚本获取资源内存和硬盘大小(二十五) - 雨松MOMO程序研究院 - 1

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Unity3D研究院编辑器之脚本获取资源内存和硬盘大小(二十五)》有 12 条评论

  1. H.QC 说:

    在高版本的Unity下,Types.GetType改为程序集获取方式(Assembly.Load(…).GetType(…))。然后GetStorageMemorySize类似这种函数,在高版本下后边都会增加Long标记。所以Method获取时,正确的函数名:GetStorageMemorySizeLong。

  2. long 说:

    您好,Types.GetType 在unity5.5废弃了,没有找到替换的接口,请问这个怎么解决呢

  3. 雨松MOMO 说:

    测试一下新的评论框。

  4. 流年 说:

    我的天啊,我好想做一个2D的翻书页效果,类似iBook那种。哥,能给个思路吗

  5. 仲光泽 说:

    这个函数不是非常的准确,有的时候会比实际运行时要大。

  6. Double-duan 说:

    你好,请问为什么获取到运行时的内存是在磁盘上占用大小的两倍?

留下一个回复

你的email不会被公开。