【发布时间】:2019-12-05 22:28:25
【问题描述】:
我有一个相当麻烦的记忆问题。我正在使用名为 Memory Profiler 的软件包来帮助我尝试找出问题所在,但我不确定我是否理解正确。基本上,我在运行时从文件加载地图,当我在实际构建中加载它时,我从 Memory Profiler 获得了大约 1.2 GB 的内存快照文件。但是当我使用相同的代码在一个新的空项目中加载相同的地图时,快照文件大约为 230 MB。我检查了额外的内存是否来自项目中的其他内容,但如果我在加载地图之前进行内存快照,快照文件只有 90 MB 大。从我在内存映射视图中可以看到,看起来额外的数量是我认为对象之间的未使用空间(我不确定,我不太了解这些术语)。所以我的问题是,如果是这样的话,我怎样才能避免这种情况发生。这不是问题,但加载较大的地图会导致崩溃。
作为参考,以下是内存分析器快照的一些图像:
【问题讨论】: