避免内存不足错误的最佳方法 - Android

时间:2014-02-16 06:19:05

标签: android multithreading service out-of-memory handler

目前,我的小组伙伴和我正在制作一个有助于孩子学习基本知识的Android应用程序。它将为孩子们提供教学模块和测验模块。我遇到了从应用程序弹出的内存错误问题。

当在后台播放音乐,播放动画,在ImageSwitcher中切换多个图像以及播放音频时,应用程序总会产生内存不足错误。我认为我的问题是在我的活动中处理未使用的对象。

我已经多次搜索过互联网,但我找不到解决问题的答案。其他一些解决方案非常复杂,我甚至都不理解它们。在使用MediaPlayer,XML Animations,ImageSwtcher和SoundPool等组件时,有人可以帮助使用防止OOM错误吗?我应该用什么?服务?线?处理程序? ImageSwitcher很头疼,开始时效果很好,但是当我要预览列表中的第16个图像时,会弹出OOM错误。

感谢任何能帮助我们的人。我很乐意展示我们的代码,但它有很多评论,我认为如果没有我们的新手代码,有人会得到答案。 :)

1 个答案:

答案 0 :(得分:1)

  1. 限制变量的范围
  2. 不要忘记完成活动并在销毁回调(干净的听众等)
  3. 时进行必要的清理
  4. 学习内存分析工具,例如Eclipse的Eclipse android开发工具的Eclipse Mat部分。要查找内存使用问题,请参阅debugging memory
  5. 在代码中加入图像加载库,例如Android-Universal-Image-LoaderPicasso,以获取大量免费和内存回收的样板代码