OutOfMemory Bitmap问题

时间:2017-06-28 18:09:48

标签: java android performance android-bitmap kotlin-android-extensions

我正在制作备忘录类型的应用程序。当用户想要创建备忘录时,他/她可以向该备忘录添加多个图像。一切正常,但当我添加多个备忘录与图像时,我的应用程序崩溃与java.lang.OutOfMemory异常。我知道这与位图有关,所以这是一个示例代码:

noteImage = BitmapFactory.decodeFile(originalExtImgPath)

然后我将这些位图保存在内存

`AsyncTask.execute {
        for (index in images.indices) {
            storage.createFile("Images", paths[index], images[index])
        }
    }`

我只添加了三张图片,这就是它使用的内存量。

如何管理它以减少内存使用?谢谢!

1 个答案:

答案 0 :(得分:2)

基本上讲,问题是你正在尝试将大图像加载到内存中。没有足够的内存来存储所有图像和您的应用程序崩溃。 诀窍是减少位图的内存占用。

在Android开发者网站上有一篇很棒的文章: Loading Large Bitmaps Efficiently