1# In Android 12 (upcoming) 2 3## New features 4* Support Custom Allocators. This allows developers to instrument their 5 applications to report memory allocations / frees that are not done 6 through the malloc-based system allocators. 7 8## Bugfixes 9* Fix problems with allocations done in signal handlers using SA_ONSTACK. 10* Fixed heapprofd for multi API. A 64-bit heapprofd service can now correctly 11 profile a 32-bit target. 12* Fixed a bug where specifying a sampling rate of 0 would crash the target 13 process. 14 15# In Android 11 16 17## New features 18* Allow to specify whether profiling should only be done for existing processes 19 or only for newly spawned ones using `no_startup` or `no_running` in 20 `HeapprofdConfig`. 21* Allow to get the number of bytes that were allocated at a callstack but then 22 not used. 23* Allow to dump the maximum, rather than at the time of the dump using 24 `dump_at_max` in `HeapprofdConfig`. 25* Allow to specify timeout (`block_client_timeout_us`) when blocking mode is 26 used. This will tear down the profile if the client would be blocked for 27 longer than this. 28* Try to auto-detect if a process uses `vfork(2)` or `clone(2)` with 29 `CLONE_VM`. In Android 10, doing memory operations in a vfork-ed child (in 30 violation of POSIX) would tear down the parent's profiling session early. 31 32## Bugfixes 33* Fixed heapprofd on x86. 34* Fixed issue with calloc being incorrectly sampled. 35* Remove benign `ERROR 2` bottom-most frame on ARM32. 36