Tim*_*imK 2 android bitmap imageview
我正在使用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
Run Code Online (Sandbox Code Playgroud)
jpg是1599x1200,所以我期待第一次分配 - 1599*1200*4 = 7675200.17MB的分配是怎么回事?
您最有可能将图像放入drawable-mdpi或仅放入drawable目录,但在hdpi设备上运行应用程序.在这种情况下,图像的尺寸将缩放1.5.
1599 * 1200 * 4 * 1.5 * 1.5 = 17269200b ~ 17mb
Run Code Online (Sandbox Code Playgroud)
您应该将图像移动到drawable-nodpi目录以避免不必要的缩放.
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |