FrameData
open class FrameData
FrameDataApi24 |
This class stores duration data for a single frame. |
FrameDataApi31 |
This class stores duration data for a single frame. |
This class stores duration data for a single frame.
| See also | |
|---|---|
jankHeuristicMultiplier |
|
putState |
Summary
Public constructors |
|---|
Public functions |
|
|---|---|
open FrameData |
copy()Utility method which makes a copy of the items in this object (including copying the items in |
open operator Boolean |
|
open Int |
hashCode() |
open String |
toString() |
Public properties |
|
|---|---|
Long |
The time spent in the UI portion of this frame (in nanoseconds). |
Long |
These backing fields are used to enable mutation of an existing FrameData object, to avoid allocating a new object on every frame for sending out to listeners. |
Boolean |
Whether this frame was determined to be janky, meaning that its duration exceeds the duration determined by the system to indicate jank (@see |
List<StateInfo> |
The UI/app state during this frame. |
Public constructors
Public functions
copy
open fun copy(): FrameData
Utility method which makes a copy of the items in this object (including copying the items in states into a new List). This is used internally to create a copy to pass along to listeners to avoid having a reference to the internally-mutable FrameData object.
Public properties
frameDurationUiNanos
val frameDurationUiNanos: Long
The time spent in the UI portion of this frame (in nanoseconds). This is essentially the time spent on the UI thread to draw this frame, but does not include any time spent on the RenderThread.
frameStartNanos
val frameStartNanos: Long
These backing fields are used to enable mutation of an existing FrameData object, to avoid allocating a new object on every frame for sending out to listeners.
isJank
val isJank: Boolean
Whether this frame was determined to be janky, meaning that its duration exceeds the duration determined by the system to indicate jank (@see JankStats.jankHeuristicMultiplier).