HeapProfileRequestBuilder


@RequiresApi(api = 35)
public final class HeapProfileRequestBuilder extends ProfilingRequestBuilder


Request builder to create a request for a heap profile from ProfilingManager.

val listener =  Consumer<ProfilingResult> { profilingResult ->  if (profilingResult.errorCode == ProfilingResult.ERROR_NONE) {  doSomethingWithMyFile(profilingResult.resultFilePath)  } else {  doSomethingWithFailure(profilingResult.errorCode, profilingResult.errorMessage)  }  } val cancellationSignal = CancellationSignal() requestProfiling(  context,  HeapProfileRequestBuilder()  .setBufferSizeKb(1000 /* Requested buffer size in KB */)  .setDurationMs(5 * 1000 /* Requested profiling duration in milliseconds */)  .setTrackJavaAllocations(true)  .setSamplingIntervalBytes(100 /* Requested sampling interval in bytes */)  .setTag("tag" /* Caller supplied tag for identification */)  .setCancellationSignal(cancellationSignal)  .build(),  Dispatchers.IO.asExecutor(), // Your choice of executor for the callback to occur on.  listener, ) // Optionally, wait for something interesting to happen and then stop the profiling to receive // the result as is. cancellationSignal.cancel()

Summary

Public constructors

Public methods

final @NonNull HeapProfileRequestBuilder
setBufferSizeKb(int bufferSizeKb)

Set the buffer size in kilobytes for this profiling request.

final @NonNull HeapProfileRequestBuilder
setDurationMs(int durationMs)

Set the duration in milliseconds for this profiling request.

final @NonNull HeapProfileRequestBuilder
setSamplingIntervalBytes(long samplingIntervalBytes)

Set the sampling interval in bytes for this profiling request.

final @NonNull HeapProfileRequestBuilder
setTrackJavaAllocations(boolean traceJavaAllocations)

Set whether to track Java allocations rather than native ones.

Inherited methods

From androidx.core.os.ProfilingRequestBuilder
final @NonNull ProfilingRequest

Build the ProfilingRequest object which can be used with requestProfiling to request profiling.

final @NonNull HeapProfileRequestBuilder

Set a CancellationSignal to request cancellation of the requested trace.

final @NonNull HeapProfileRequestBuilder

Add data to help identify the output.

Public constructors

HeapProfileRequestBuilder

Added in 1.15.0
public HeapProfileRequestBuilder()

Public methods

setBufferSizeKb

Added in 1.15.0
public final @NonNull HeapProfileRequestBuilder setBufferSizeKb(int bufferSizeKb)

Set the buffer size in kilobytes for this profiling request.

setDurationMs

Added in 1.15.0
public final @NonNull HeapProfileRequestBuilder setDurationMs(int durationMs)

Set the duration in milliseconds for this profiling request.

setSamplingIntervalBytes

Added in 1.15.0
public final @NonNull HeapProfileRequestBuilder setSamplingIntervalBytes(long samplingIntervalBytes)

Set the sampling interval in bytes for this profiling request.

setTrackJavaAllocations

Added in 1.15.0
public final @NonNull HeapProfileRequestBuilder setTrackJavaAllocations(boolean traceJavaAllocations)

Set whether to track Java allocations rather than native ones.