OutOfMemory 位图问题
OutOfMemory Bitmap issue
我正在做一个备忘录类型的应用程序。当用户想要创建备忘录时 he/she 可以向该备忘录添加多个图像。一切正常,但是当我添加多个带有图像的备忘录时,我的应用程序崩溃并出现 java.lang.OutOfMemory 异常。我知道这与位图有关,所以这是一个示例代码:
noteImage = BitmapFactory.decodeFile(originalExtImgPath)
然后我将这些位图保存在内存中
`AsyncTask.execute {
for (index in images.indices) {
storage.createFile("Images", paths[index], images[index])
}
}`
我只添加了三张图片,这是它占用的内存量。
我如何管理它以减少它使用的内存?谢谢!
基本上来说,问题在于您正试图将大图像加载到内存中。没有足够的内存来存储所有图像,您的应用程序崩溃了。
诀窍是减少位图的内存占用。
Android 开发者网站上有一篇关于此的精彩文章:
Loading Large Bitmaps Efficiently
我正在做一个备忘录类型的应用程序。当用户想要创建备忘录时 he/she 可以向该备忘录添加多个图像。一切正常,但是当我添加多个带有图像的备忘录时,我的应用程序崩溃并出现 java.lang.OutOfMemory 异常。我知道这与位图有关,所以这是一个示例代码:
noteImage = BitmapFactory.decodeFile(originalExtImgPath)
然后我将这些位图保存在内存中
`AsyncTask.execute {
for (index in images.indices) {
storage.createFile("Images", paths[index], images[index])
}
}`
我只添加了三张图片,这是它占用的内存量。
我如何管理它以减少它使用的内存?谢谢!
基本上来说,问题在于您正试图将大图像加载到内存中。没有足够的内存来存储所有图像,您的应用程序崩溃了。 诀窍是减少位图的内存占用。
Android 开发者网站上有一篇关于此的精彩文章: Loading Large Bitmaps Efficiently