android - 支持海量图片

标签 android image android-fragments

我正在开发一个有声读物类型的应用程序,它需要有一些图像,并显示一些文本,当“声音”开始说话时,文本将被突出显示等等。

但我的问题是图片,我有大约 21 张图片,每张图片代表一个页面: 我的第一个方法是使用 ViewPager 来模拟书籍转换,但是当在第 13 页时,应用程序会崩溃。与“OutOfMemoryError”。 我的第二种方法是使用 FrameLayout 来保存 fragment ,但就像在 ViewPager 中一样,应用程序在第 14 页崩溃,并出现相同的错误“OutOfMemoryError”,图像大约为 300kb - 500kb MAX。

不知道为什么会这样,我正在使用 FragmentTransaction 的“replace”方法来进行 fragment 替换。对于用于音频播放的 MediaPlayer,我在每个 onPause 方法上使用“release”..

非常感谢你们!

最佳答案

问题是您没有正确处理图像,如果它们没有正确缩放,您会得到 OutofMemory。我建议您使用:https://github.com/nostra13/Android-Universal-Image-Loader,而不是试图让它在某个设备上工作然后在另一个设备上崩溃。这将有助于防止此错误,并且实现起来非常简单。

关于android - 支持海量图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19081241/

相关文章:

android - 在 android 中使用 getfragmentmanager() 时出现 "No such method error"

Android 4.1 库存浏览器 : Can't open links in new tab

android - 'boolean android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore()' 在执行 recyclerView.addView 时在空对象引用上

图像未加载到部署在 webapps ROOT 文件夹内的 jsp 中

android - sqlite 中的图像巨大

android - 带有 FragmentContainerView 的空 NavHostFragment/NavController

android - 通过 Intent 传递枚举或对象(最佳解决方案)

android - 在android studio 1.0中出现retrolambda错误

android - Galaxy S3 上无法加载图像

android - 离开深度嵌套的堆栈时,这是清理 Fragment 后堆栈的正确方法吗?