【问题标题】:Android OpenGL memory usage profiling?Android OpenGL内存使用分析?
【发布时间】:2010-08-20 21:06:53
【问题描述】:

我正在努力解决一些我认为与我的 Android 应用程序相关的内存问题,但我似乎无法弄清楚如何获取有关我的应用程序正在使用多少内存的信息。

我怀疑我正在加载的某些纹理没有被垃圾收集器清除,但我希望能够在开始盲目更改之前进行测试。

我已经在 DDMS 上苦苦挣扎了好几个小时,虽然我可以连接它,但我无法确定输出的正面或反面。分配似乎只是向我展示了基本的对象分配,而我关心的是我的 openGL 纹理和音频文件等使用内存的情况。

非常感谢任何有关在 Android 上的 openGL 应用程序中分析内存使用情况的建议,谢谢!

【问题讨论】:

  • 哪些症状让您认为纹理没有被垃圾回收?
  • 我的游戏从一个关卡过渡到另一个关卡。在这些过渡期间,我通常会转储 1 个纹理并加载一个新纹理。它工作了一段时间,但在 10 次左右的转换后 fps 开始下降。另外 5 条左右我在 LogCat 中看到消息:INFO/ActivityManager(1239):内存不足:没有更多的后台进程。然后很多:DEBUG/Cursor(1239): fillWindow 没有执行,因为 Cursor 对象已关闭。我不能确定它与纹理相关,但这是我最好的猜测,并且必须有一种方法可以查看我随着时间的推移使用了多少内存?

标签: android memory opengl-es ddms


【解决方案1】:

嗯,您是否在要卸载的纹理上调用 gldeletetexture? 如果您不打算再使用它,则必须手动删除纹理(例如关卡背景等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多