基本上,我有一个Vector类,其中存储了所有位图,以便我可以拥有一个动态数组。我实际做的是这样的事情:
Bitmap bmp = Bitmap.decodeResource(context.getResources(), context.getResources().getIdentifier(imageName, "drawable", "com.example.dynamicbitmap"); vector.add(bmp);
我想问的是......如果我调用vector.remove(value)
,它会在堆空间中释放一些空间吗?简而言之,位图会自动回收吗?或者我必须在从向量中删除位图对象之前手动调用它吗?
答案 0 :(得分:1)
它不会立即释放内存。每当GarbageCollector决定执行此操作时,过时的位图将被GC。所以基本上你不必打电话给recycle()
,但如果你的内存耗尽,你最终会得到OutOfMemoryException
。
如果你想尽快释放内存 - 你需要通过{/ 1}来呼叫