java - 位图内存不足问题

标签 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])
        }
    }`

我只添加了三个图像,这是它使用的内存量。

我如何管理它以使其使用更少的内存?谢谢!

最佳答案

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

Android 开发者网站上有一篇关于此的精彩文章: Loading Large Bitmaps Efficiently

关于java - 位图内存不足问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44809723/

相关文章:

java - org.quartz.SchedulerException : Registration of jobs and triggers failed

java - 如何修复 Http 状态 404 未找到?

java - 从 Stripe Android 中删除用户卡

android - 如何在android 4.3 中集成paypal?

java - 有没有同时兼容Android和Java的Base64库

Android性能分析和监控工具

JavaMail 在使用 JDK 1.7 的 OS X Yosemite 上传输本地 SMTP 速度极其缓慢

linux - 如何检查 isolcpus 是否已配置并正常工作?

java - 为什么说创建线程很昂贵?

java - KeyListener 未注册按下的键