free_heap 中的强指针赋值

Strong pointer assignment in free_heap

这行有什么意义:

rel = mHeapCache.valueAt(i).heap;

在HeapCache::free_heap here

我猜它会将堆的释放推迟到函数完成,但为什么要这样做?

I guess it will postpone dealocation of heap till function finish

没错。具体来说,它会将释放推迟到解锁互斥体之后,这样它就不会在该(可能很耗时的)操作期间不必要地阻止对缓存的访问。