【问题标题】:Out of memory after loading multiple textures加载多个纹理后内存不足
【发布时间】:2014-07-03 13:32:44
【问题描述】:

现在我正在开发动态壁纸。 我的主角有大约 75 个动画图像,但有一处我无法将其加载到内存中。 它会引发 OutOfMomory 异常。

基本上我必须从头到尾不断地改变我的主角的框架。所以我编写了加载所需图像并卸载其他图像的算法。但它不断调用垃圾收集程序,导致动画无法按预期流畅运行。

那么如何管理这么多的动态壁纸图片呢?请在此处提供一些指导。

【问题讨论】:

    标签: android bitmap textures andengine


    【解决方案1】:

    也许 Nicolas 在here 发布的提示会对您有所帮助。

    短版:

    1. 减小纹理大小。
    2. 减少纹理切换(也就是尝试使用 spritesheets,以便尽可能少地更改纹理)
    3. 使用质量较低的纹理(RGBA4444 或 RGB565 而不是 RGBA8888)..
    4. 在实体不需要更新时调用 setIgnoreUpdate。
    5. 尽可能使用 SpriteBatches。

    【讨论】:

      【解决方案2】:

      您还可以在应用程序标签中添加“android:largeHeap=true”以及 LordRaydenMK 建议的提示。

      【讨论】:

      • 感谢您的回复。我会检查并尽快回复您。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 2013-06-01
      相关资源
      最近更新 更多