内存性能分析器模块中会显示一些表示应用程序中分配的总内存的计数器。可以使用内存模块来显示 Unity 在哪些位置分配了内存,以及在哪些类别中使用了内存。
内置的内存性能分析器模块显示应用程序中内存分配的基本概况。
要查看应用程序中内存使用情况的详细分类,请使用内存性能分析器包。这个包会向 Unity 编辑器添加一个额外的内存 Profiler 窗口,然后可以使用该窗口来分析应用程序中的内存使用情况,它比内存性能分析器更加详细。可以存储和比较快照以便查出内存泄漏问题,或者查看内存布局以查出内存碎片问题。有关内存性能分析器包的更多信息,请参阅内存性能分析器包文档。
在播放模式下分析应用程序时,内存性能分析器模块报告的数据使用量高于在目标设备上构建的应用程序的类似配置文件。这是因为 Unity 编辑器使用的特定对象会占用内存,而编辑器窗口本身使用额外的内存。
使用额外内存的一部分原因是 Unity 在编辑器中将纹理等对象视为已启用读/写,并在 CPU 上保留每个纹理的额外副本。这实际上将编辑器中报告的内存使用量增加了一倍。为了更准确地了解纹理的内存使用情况,可对在目标平台上运行的应用程序的构建版本进行性能分析。
Unity 无法将性能分析器本身占用的内存与播放模式的内存完全分开,因此性能分析器进程使用的内存也会显示在 Profiler 窗口中。
为了提醒您这一点,每当性能分析器目标设置为播放模式或编辑器时,内存性能分析器模块详细信息面板的顶部都会显示一条警告。如需了解应用程序的更精确数字和内存使用情况,请在目标设备和要运行的操作系统上对应用程序进行性能分析。有关更多信息,请参阅应用程序性能分析。