gpt4 book ai didi

ios - Starling AS3 : A lot of textures, 内存警告 iOS

转载 作者:行者123 更新时间:2023-11-28 19:06:18 27 4
gpt4 key购买 nike

我在 Starling 中使用 AssetManager 类来加载大量纹理,大约 600-700 个 png 文件。所有文件都没有在启动时加载,我使用多个 AssetManagers 来保存图像。开始时,它会向 3 个不同的管理器加载大约 70 张图像,并且在加载时我在 iOS 上收到一些内存警告。

  • iPhone appName[644] : Received memory warning.
  • iPhone appName[644] : Application received a memory warning from the system.
  • iPhone SpringBoard[74] : Received memory warning.
  • iPhone MobilePhone[199] : Received memory warning.

我尝试同时加载它们,并尝试在另一个加载完成时开始每个加载。我也试过 System.gc();和 System.pauseForGCIfCollectionImminent(0.1);在每次加载之间,这解决了 iPhone 5 (7.0.4) 上的问题,但没有解决 iPhone 3gs (6.1.3) 上的问题。

八哥版本:1.4.1

有人知道如何解决这个问题吗?

最佳答案

通常从移动开发的角度来看,从来没有“一刀切”的解决方案。有许多不同的屏幕尺寸和硬件配置。为了解决这个问题,许多开发人员将生成 - 如前所述,Sprite Sheets。使用此方法,应用程序只需加载一张图像,而在您的情况下则为数百张。图像加载器需要很长时间才能连接到内存地址以启动纹理上传到 GPU - 我什至无法想象对于那么多 Assets 来说它必须有多慢。

texture packer是非凡的,并且还有助于许多开发人员合并的另一个功能。 Assets 密度。在 iPhone 3G 中,开发人员将加载一组为较小屏幕尺寸开发的 sprite 表,而具有两倍大小资源的较大 sprite 表将为平板电脑或某些更高端设备加载。这种方法不仅可以解决您的内存问题,还可以使您的应用程序在更广泛的设备上看起来更好。

这里是 Starling Wiki 的链接 multi-resolution development .

在您可以对项目做出的所有“为了更好”的改变中,上面提到的那些在列表中名列前茅。

关于ios - Starling AS3 : A lot of textures, 内存警告 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20195821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com