运行此代码时
for ( int i=0; i<4; i++) {
dispatch_async(dispatch_get_global_queue(0,0), ^{
std::vector<unsigned char> d(1000*1000*4);
printf("D\n");
});
}
内存增长而未被释放。
例如在运行上面的代码之后,在执行了所有4个块后,内存为32mb。
当使用std :: vector注释掉行时,结束内存为23mb。
很高兴了解为什么会发生这种情况以及如何释放记忆。
谢谢