gpt4 book ai didi

android - 为什么 Android 为图像分配的内存是我预期的两倍?

转载 作者:太空狗 更新时间:2023-10-29 16:05:47 26 4
gpt4 key购买 nike

我正在使用 setImageResource() 在 Android 应用程序中加载图像资源,由于某种原因,这会占用大量额外内存。

这是我在加载图像时看到的:

03-29 15:16:56.687: D/dalvikvm(23616): GC_FOR_ALLOC freed 42K, 11% free 16175K/18119K, paused 11ms
I/dalvikvm-heap(23616): Grow heap (frag case) to 23.154MB for 7675216-byte allocation
D/dalvikvm(23616): GC_CONCURRENT freed 3K, 8% free 23667K/25671K, paused 1ms+2ms
D/dalvikvm(23616): GC_FOR_ALLOC freed 0K, 8% free 23667K/25671K, paused 10ms
I/dalvikvm-heap(23616): Grow heap (frag case) to 39.624MB for 17272816-byte allocation
D/dalvikvm(23616): GC_CONCURRENT freed 0K, 5% free 40535K/42567K, paused 1ms+2ms

jpg 是 1599x1200,所以我预计第一次分配 - 1599 * 1200 * 4 = 7675200。17MB 的分配是怎么回事?

最佳答案

很可能您将图像放入 drawable-mdpi 或只是 drawable 目录,但在 hdpi 设备上运行该应用程序。在这种情况下,图像的尺寸将按 1.5 缩放。

1599 * 1200 * 4 * 1.5 * 1.5 = 17269200b ~ 17mb

您可能应该将图像移动到 drawable-nodpi 目录以避免不必要的缩放。

关于android - 为什么 Android 为图像分配的内存是我预期的两倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15718195/

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