目前,我和我的小组成员正在制作一个安卓应用程序,可以帮助 children 学习基础知识。它将为 children 提供一个教学模块和一个测验模块。我遇到了从应用程序中弹出这么多内存不足错误的问题。
当在后台播放音乐、播放动画、在 ImageSwitcher 中的多个图像之间切换以及播放音频时,应用程序总是会产生内存不足错误。我认为我的问题是在我的 Activity 中处理未使用的对象。
我在互联网上搜索了很多次,但找不到解决我们问题的答案。其他一些解决方案非常复杂,我什至不理解它们。在使用 MediaPlayer、XML Animations、ImageSwtcher 和 SoundPool 等组件时,任何人都可以帮助防止 OOM 错误吗?我应该分别使用什么?服务?线?处理程序? ImageSwitcher 是个头疼的东西,一开始还不错,但是当我要预览列表中的第 16 个图像时,弹出 OOM 错误。
感谢所有愿意帮助我们的人。我很乐意展示我们的代码,但它有很多评论,我认为有人没有我们的新手代码就可以回答这个问题。 :)
最佳答案
- 限制变量的范围
- 不要忘记完成 Activity 并在销毁回调时进行必要的清理(清理监听器等)
- 学习内存分析工具,例如 Eclipse Android 开发工具的 Eclipse Mat 部分。要查找内存使用问题,请参阅 debugging memory
- 在您的代码中加入图像加载库,例如 Android-Universal-Image-Loader或 Picasso ,免费获取大量样板代码和内存回收
关于android - 避免内存不足错误的最佳方法 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21808016/