Dalvik堆大小什么时候增加?

时间:2015-01-27 09:51:32

标签: java android garbage-collection

我最近遇到过一些情况,其中堆大小增加而没有执行GC 示例 - 开始时,可​​用空间的746KB(使用Runtime.getRuntime()。freeMemory()进行评估)。分配大小为512 * 512(RGB_565)的位图需要512KB。没有进行去碎片,堆大小增加了。堆中的可用空间减少了3 KB。类似的图案连续重复20次。这些分配之间没有打印GC消息。每个alloc需要大约1ms的时间。

for (int i = 0; i<20; i++) {
  long start = System.currentTimeMillis();
  System.out.println("Free space:"+Runtime.getRuntime().freeMemory());
  System.out.println("Heap size:"+Runtime.getRuntime().totalMemory());
  list.add(Bitmap.createBitmap(512, 512, Bitmap.Config.RGB_565));
  System.out.println(System.currentTimeMillis()-start);
}

Dalvik在增加堆大小之前总是执行GC吗?

提前致谢。如果需要更多信息,请告诉我。

0 个答案:

没有答案