gpt4 book ai didi

android - 加载可绘制对象时 90MB 堆大小

转载 作者:行者123 更新时间:2023-11-29 01:44:01 28 4
gpt4 key购买 nike

我想显示来自用户设备的一些图像的预览。为此,我在外部存储中搜索图像文件,对于包含图像文件的每个文件夹,我在 ListView 中列出了文件夹的名称和来自该文件夹的图像。在我的 Nexus 上有 6 个包含图像的文件夹,所以我有 6 个 ListView 项目。我使用以下方式加载所有图像:

Drawable.createFromPath(file.getAbsolutePath())

并将生成的可绘制对象缓存在 HashMap 中,以防止多次加载同一图像。

但是,堆从 20MB 增长到 >90MB。加载图像时,应用程序响应会延迟 2 秒。很糟糕。

我不知道堆如何从 6 个大约 50KB 的图像增长到 90MB,但无论如何。为了解决这个问题,我尝试从图像中加载子采样位图 - 但是每当我加载它们时,我都会遇到内存不足的异常。

我已经多次验证加载的图片不超过这 6 张。我能做什么?

最佳答案

您应该做的是使用 MAT 工具分析应用程序的内存使用情况,如 this 中所述。惊人的文章。此工具将帮助您识别潜在的内存泄漏并查看究竟是什么触发了堆增长。

关于android - 加载可绘制对象时 90MB 堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582427/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com