如上面 android 设备上的内存分析器快照的屏幕截图所示,精灵(绿色框中所示)实际上全部打包到精灵图集(蓝色框中所示)中。这应该是正确的吗?如果不是我该如何解决这个问题?
一些细节:
return _atlas.GetSprite(key);
,或者只是直接引用精灵本身public Sprite spriteExample;
。内存快照显示几乎相同的结果。相同的绘制调用、单独加载的精灵、内存使用几乎相同。有人可以确认第二种使用精灵图集的方法是否正确吗?谢谢!我自己找到了答案。在一些图像中,我使用粒子系统使其更加精美,其中在形状部分下,我使用了与发射器形状相同的纹理。这导致内存中出现重复的纹理。我现在没有好的解决方案,所以我只是删除了粒子系统。节省约 100 MB 内存。