WindowContentFrameStats
public final class WindowContentFrameStats
extends FrameStats
implements Parcelable
java.lang.Object | ||
↳ | 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 FrameStats.getStartTimeNano()
to FrameStats.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 FrameStats.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 FrameStats.getFramePresentedTimeNano(int)
.
Summary
Inherited constants |
---|
Fields | |
---|---|
public static final Creator<WindowContentFrameStats> | CREATOR
|
Public methods | |
---|---|
int | describeContents() Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
long | getFramePostedTimeNano(int index) Get the time a frame at a given index was posted by the producer (e.g. the application). |
long | getFrameReadyTimeNano(int index) Get the time a frame at a given index was ready for presentation. |
String | toString() Returns a string representation of the object. |
void | writeToParcel(Parcel parcel, int flags) Flatten this object in to a Parcel. |
Inherited methods | |
---|---|
Fields
Public methods
describeContents
public int describeContents ()
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.
Returns | |
---|---|
int | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
getFramePostedTimeNano
public long getFramePostedTimeNano (int index)
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. |
Returns | |
---|---|
long | The posted time in nanoseconds. |
getFrameReadyTimeNano
public long getFrameReadyTimeNano (int index)
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. |
Returns | |
---|---|
long | The ready time in nanoseconds or FrameStats.UNDEFINED_TIME_NANO if the frame is not ready yet. |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String | a string representation of the object. |
writeToParcel
public void writeToParcel (Parcel parcel, int flags)
Flatten this object in to a Parcel.
Parameters | |
---|---|
parcel | Parcel : 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.PARCELABLE_WRITE_RETURN_VALUE . Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |