Android - 处理Vector类中分配的位图

时间:2013-02-07 03:15:22

标签: android bitmap heap

基本上,我有一个Vector类,其中存储了所有位图,以便我可以拥有一个动态数组。我实际做的是这样的事情:

Bitmap bmp = Bitmap.decodeResource(context.getResources(), context.getResources().getIdentifier(imageName, "drawable", "com.example.dynamicbitmap");
vector.add(bmp);

我想问的是......如果我调用vector.remove(value),它会在堆空间中释放一些空间吗?简而言之,位图会自动回收吗?或者我必须在从向量中删除位图对象之前手动调用它吗?

1 个答案:

答案 0 :(得分:1)

它不会立即释放内存。每当GarbageCollector决定执行此操作时,过时的位图将被GC。所以基本上你不必打电话给recycle(),但如果你的内存耗尽,你最终会得到OutOfMemoryException

如果你想尽快释放内存 - 你需要通过{/ 1}来呼叫