WindowContentFrameStats
class WindowContentFrameStats : FrameStats, Parcelable
| kotlin.Any | ||
| ↳ | android.view.FrameStats | |
| ↳ | android.view.WindowContentFrameStats | |
This class contains window content frame statistics. For example, a window content is rendred in frames when a view is scrolled. The frame statistics are a snapshot for the time interval from getStartTimeNano() to getEndTimeNano().
The key idea is that in order to provide a smooth user experience an application has to draw a frame at a specific time interval obtained by calling getRefreshPeriodNano(). If the application does not render a frame every refresh period the user will see irregular UI transitions.
An application posts a frame for presentation by synchronously rendering its contents in a buffer which is then posted or posting a buffer to which the application is asychronously rendering the content via GL. After the frame is posted and rendered (potentially asynchronosly) it is presented to the user. The time a frame was posted can be obtained via getFramePostedTimeNano(int), the time a frame content was rendered and ready for dsiplay (GL case) via getFrameReadyTimeNano(int), and the time a frame was presented on the screen via getFramePresentedTimeNano(int).
Summary
| Inherited constants | |
|---|---|
| Public methods | |
|---|---|
| Int |
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| Long |
getFramePostedTimeNano(index: Int)Get the time a frame at a given index was posted by the producer (e.g. the application). |
| Long |
getFrameReadyTimeNano(index: Int)Get the time a frame at a given index was ready for presentation. |
| String |
toString()Returns a string representation of the object. |
| Unit |
writeToParcel(parcel: Parcel, flags: Int)Flatten this object in to a Parcel. |
| Inherited functions | |
|---|---|
| Properties | |
|---|---|
| static Parcelable.Creator<WindowContentFrameStats!> | |
Public methods
describeContents
fun describeContents(): Int
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.
| Return | |
|---|---|
Int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or
|
getFramePostedTimeNano
fun getFramePostedTimeNano(index: Int): Long
Get the time a frame at a given index was posted by the producer (e.g. the application). It is either explicitly set or defaulted to the time when the render buffer was posted.
Note: A frame can be posted and still it contents being rendered asynchronously in GL. To get the time the frame content was completely rendered and ready to display call getFrameReadyTimeNano(int).
| Parameters | |
|---|---|
index |
Int: The frame index. |
| Return | |
|---|---|
Long |
The posted time in nanoseconds. |
getFrameReadyTimeNano
fun getFrameReadyTimeNano(index: Int): Long
Get the time a frame at a given index was ready for presentation.
Note: A frame can be posted and still it contents being rendered asynchronously in GL. In such a case this is the time when the frame contents were completely rendered.
| Parameters | |
|---|---|
index |
Int: The frame index. |
| Return | |
|---|---|
Long |
The ready time in nanoseconds or UNDEFINED_TIME_NANO if the frame is not ready yet. |
toString
fun toString(): String
Returns a string representation of the object.
| Return | |
|---|---|
String |
a string representation of the object. |
writeToParcel
fun writeToParcel(
parcel: Parcel,
flags: Int
): Unit
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
dest |
The Parcel in which the object should be written. This value cannot be null. |
flags |
Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of the following:
|