belongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1
FrameMetricsAggregator
public
class
FrameMetricsAggregator
extends Object
java.lang.Object | |
↳ | android.support.v4.app.FrameMetricsAggregator |
This class can be used to record and return data about per-frame durations. It returns those
results in an array per metric type, with the results indicating how many samples were
recorded for each duration value. The details of the durations data are described in
getMetrics()
.
For more information on the various metrics tracked, see the documentation for the FrameMetrics API added in API 24 as well as the GPU Profiling guide.
Summary
Constants | |
---|---|
int |
ANIMATION_DURATION
A flag indicating that the metrics should track the animation duration. |
int |
ANIMATION_INDEX
The index in the metrics array where the data for |
int |
COMMAND_DURATION
A flag indicating that the metrics should track the command duration. |
int |
COMMAND_INDEX
The index in the metrics array where the data for |
int |
DELAY_DURATION
A flag indicating that the metrics should track the delay duration. |
int |
DELAY_INDEX
The index in the metrics array where the data for |
int |
DRAW_DURATION
A flag indicating that the metrics should track the draw duration. |
int |
DRAW_INDEX
The index in the metrics array where the data for |
int |
EVERY_DURATION
A flag indicating that the metrics should track all durations. |
int |
INPUT_DURATION
A flag indicating that the metrics should track the input duration. |
int |
INPUT_INDEX
The index in the metrics array where the data for |
int |
LAYOUT_MEASURE_DURATION
A flag indicating that the metrics should track the layout duration. |
int |
LAYOUT_MEASURE_INDEX
The index in the metrics array where the data for |
int |
SWAP_DURATION
A flag indicating that the metrics should track the swap duration. |
int |
SWAP_INDEX
The index in the metrics array where the data for |
int |
SYNC_DURATION
A flag indicating that the metrics should track the sync duration. |
int |
SYNC_INDEX
The index in the metrics array where the data for |
int |
TOTAL_DURATION
A flag indicating that the metrics should track the total duration. |
int |
TOTAL_INDEX
The index in the metrics array where the data for |
Public constructors | |
---|---|
FrameMetricsAggregator()
Constructs a FrameMetricsAggregator object that will track |
|
FrameMetricsAggregator(int metricTypeFlags)
Constructs a FrameMetricsAggregator object that will track the metrics specified bty
|
Public methods | |
---|---|
void
|
add(Activity activity)
Starts recording frame metrics for the given activity. |
SparseIntArray[]
|
getMetrics()
Returns the currently-collected metrics in an array of SparseIntArray objects. |
SparseIntArray[]
|
remove(Activity activity)
Stops recording metrics for |
SparseIntArray[]
|
reset()
Resets the metrics data and returns the currently-collected metrics. |
SparseIntArray[]
|
stop()
Stops recording metrics for all Activities currently being tracked. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
Constants
ANIMATION_DURATION
int ANIMATION_DURATION
A flag indicating that the metrics should track the animation duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 256 (0x00000100)
ANIMATION_INDEX
int ANIMATION_INDEX
The index in the metrics array where the data for ANIMATION_DURATION
is stored.
See also:
Constant Value: 8 (0x00000008)
COMMAND_DURATION
int COMMAND_DURATION
A flag indicating that the metrics should track the command duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 32 (0x00000020)
COMMAND_INDEX
int COMMAND_INDEX
The index in the metrics array where the data for SYNC_DURATION
is stored.
See also:
Constant Value: 5 (0x00000005)
DELAY_DURATION
int DELAY_DURATION
A flag indicating that the metrics should track the delay duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 128 (0x00000080)
DELAY_INDEX
int DELAY_INDEX
The index in the metrics array where the data for DELAY_DURATION
is stored.
See also:
Constant Value: 7 (0x00000007)
DRAW_DURATION
int DRAW_DURATION
A flag indicating that the metrics should track the draw duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 8 (0x00000008)
DRAW_INDEX
int DRAW_INDEX
The index in the metrics array where the data for DRAW_DURATION
is stored.
See also:
Constant Value: 3 (0x00000003)
EVERY_DURATION
int EVERY_DURATION
A flag indicating that the metrics should track all durations. This is
a shorthand for OR'ing all of the duration flags. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate the metrics that should be tracked for that activity.
Constant Value: 511 (0x000001ff)
INPUT_DURATION
int INPUT_DURATION
A flag indicating that the metrics should track the input duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 2 (0x00000002)
INPUT_INDEX
int INPUT_INDEX
The index in the metrics array where the data for INPUT_DURATION
is stored.
See also:
Constant Value: 1 (0x00000001)
LAYOUT_MEASURE_DURATION
int LAYOUT_MEASURE_DURATION
A flag indicating that the metrics should track the layout duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 4 (0x00000004)
LAYOUT_MEASURE_INDEX
int LAYOUT_MEASURE_INDEX
The index in the metrics array where the data for LAYOUT_MEASURE_DURATION
is stored.
See also:
Constant Value: 2 (0x00000002)
SWAP_DURATION
int SWAP_DURATION
A flag indicating that the metrics should track the swap duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 64 (0x00000040)
SWAP_INDEX
int SWAP_INDEX
The index in the metrics array where the data for COMMAND_DURATION
is stored.
See also:
Constant Value: 6 (0x00000006)
SYNC_DURATION
int SYNC_DURATION
A flag indicating that the metrics should track the sync duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 16 (0x00000010)
SYNC_INDEX
int SYNC_INDEX
The index in the metrics array where the data for SYNC_DURATION
is stored.
See also:
Constant Value: 4 (0x00000004)
TOTAL_DURATION
int TOTAL_DURATION
A flag indicating that the metrics should track the total duration. This
flag may be OR'd with the other flags here when calling FrameMetricsAggregator(int)
to indicate all of the metrics that should be tracked for that activity.
Constant Value: 1 (0x00000001)
TOTAL_INDEX
int TOTAL_INDEX
The index in the metrics array where the data for TOTAL_DURATION
is stored.
See also:
Constant Value: 0 (0x00000000)
Public constructors
FrameMetricsAggregator
FrameMetricsAggregator ()
Constructs a FrameMetricsAggregator object that will track TOTAL_DURATION
metrics. If more fine-grained metrics are needed, use FrameMetricsAggregator(int)
instead.
FrameMetricsAggregator
FrameMetricsAggregator (int metricTypeFlags)
Constructs a FrameMetricsAggregator object that will track the metrics specified bty
metricTypeFlags
, which is a value derived by OR'ing together metrics constants
such as TOTAL_DURATION
to specify all metrics that should be tracked. For example,
TOTAL_DURATION | DRAW_DURATION
will track both the total and draw durations
for every frame.
Parameters | |
---|---|
metricTypeFlags |
int : A bitwise collection of flags indicating which metrics should
be recorded.
|
Public methods
add
void add (Activity activity)
Starts recording frame metrics for the given activity.
Parameters | |
---|---|
activity |
Activity : The Activity object which will have its metrics measured.
|
getMetrics
SparseIntArray[] getMetrics ()
Returns the currently-collected metrics in an array of SparseIntArray objects.
The index of the array indicates which metric's data is stored in that
SparseIntArray object. For example, results for total duration will be in
the [TOTAL_INDEX]
item.
The return value may be null if no metrics were tracked. This is especially true on releases
earlier than API 24, as the FrameMetrics system does not exist on these earlier release.
If the return value is not null, any of the objects at a given index in the array
may still be null, which indicates that data was not being tracked for that type of metric.
For example, if the FrameMetricsAggregator was created with a call to
new FrameMetricsAggregator(TOTAL_DURATION | DRAW_DURATION)
, then the SparseIntArray
at index INPUT_INDEX
will be null.
For a given non-null SparseIntArray, the results stored are the number of samples at
each millisecond value (rounded). For example, if a data sample consisted of total
durations of 5.1ms, 5.8ms, 6.1ms, and 8.2ms, the SparseIntArray at [TOTAL_DURATION]
would have key-value pairs (5, 1), (6, 2), (8, 1).
Returns | |
---|---|
SparseIntArray[] |
An array whose index refers to the type of metric stored in that item's
SparseIntArray object, e.g., data for TOTAL_DURATION is stored in
the [TOTAL_INDEX] item.
|
remove
SparseIntArray[] remove (Activity activity)
Stops recording metrics for activity
and returns the collected metrics so far.
Recording will continue if there are still other activities being tracked. Calling
remove() does not reset the metrics array; you must call reset()
to clear the
data.
Parameters | |
---|---|
activity |
Activity : The Activity to stop tracking metrics for. |
Returns | |
---|---|
SparseIntArray[] |
An array whose index refers to the type of metric stored in that item's
SparseIntArray object, e.g., data for TOTAL_DURATION is stored in
the [TOTAL_INDEX] item. |
See also:
reset
SparseIntArray[] reset ()
Resets the metrics data and returns the currently-collected metrics.
Returns | |
---|---|
SparseIntArray[] |
An array whose index refers to the type of metric stored in that item's
SparseIntArray object, e.g., data for TOTAL_DURATION is stored in
the [TOTAL_INDEX] item. |
See also:
stop
SparseIntArray[] stop ()
Stops recording metrics for all Activities currently being tracked. Like remove(Activity)
, this method returns the currently-collected metrics. Calling
stop() does not reset the metrics array; you must call reset()
to clear the
data.
Returns | |
---|---|
SparseIntArray[] |
An array whose index refers to the type of metric stored in that item's
SparseIntArray object, e.g., data for TOTAL_DURATION is stored in
the [TOTAL_INDEX] item. |
See also:
Annotations
Interfaces
- ActionBarDrawerToggle.Delegate
- ActionBarDrawerToggle.DelegateProvider
- ActivityCompat.OnRequestPermissionsResultCallback
- ActivityCompat.PermissionCompatDelegate
- FragmentManager.BackStackEntry
- FragmentManager.OnBackStackChangedListener
- LoaderManager.LoaderCallbacks
- NotificationCompat.Action.Extender
- NotificationCompat.Extender
- SharedElementCallback.OnSharedElementsReadyListener
- TaskStackBuilder.SupportParentable
Classes
- ActionBarDrawerToggle
- ActivityCompat
- ActivityManagerCompat
- ActivityOptionsCompat
- AlarmManagerCompat
- AppLaunchChecker
- AppOpsManagerCompat
- BundleCompat
- DialogFragment
- Fragment
- Fragment.SavedState
- FragmentActivity
- FragmentContainer
- FragmentController
- FragmentHostCallback
- FragmentManager
- FragmentManager.FragmentLifecycleCallbacks
- FragmentManagerNonConfig
- FragmentPagerAdapter
- FragmentStatePagerAdapter
- FragmentTabHost
- FragmentTransaction
- FrameMetricsAggregator
- JobIntentService
- ListFragment
- LoaderManager
- NavUtils
- NotificationCompat
- NotificationCompat.Action
- NotificationCompat.Action.Builder
- NotificationCompat.Action.WearableExtender
- NotificationCompat.BigPictureStyle
- NotificationCompat.BigTextStyle
- NotificationCompat.Builder
- NotificationCompat.CarExtender
- NotificationCompat.CarExtender.UnreadConversation
- NotificationCompat.CarExtender.UnreadConversation.Builder
- NotificationCompat.DecoratedCustomViewStyle
- NotificationCompat.InboxStyle
- NotificationCompat.MessagingStyle
- NotificationCompat.MessagingStyle.Message
- NotificationCompat.Style
- NotificationCompat.WearableExtender
- NotificationCompatExtras
- NotificationCompatSideChannelService
- NotificationManagerCompat
- RemoteInput
- RemoteInput.Builder
- ServiceCompat
- ShareCompat
- ShareCompat.IntentBuilder
- ShareCompat.IntentReader
- SharedElementCallback
- TaskStackBuilder
Exceptions