Android APIs
public final class

WindowContentFrameStats

extends FrameStats
implements Parcelable
java.lang.Object
   ↳ android.view.FrameStats
     ↳ android.view.WindowContentFrameStats

Class Overview

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

[Expand]
Inherited Constants
From class android.view.FrameStats
From interface android.os.Parcelable
Fields
public static final Creator<WindowContentFrameStats> CREATOR
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
long getFramePostedTimeNano(int index)
Get the time a frame at a given index was posted by the producer (e.g.
long getFrameReadyTimeNano(int index)
Get the time a frame at a given index was ready for presentation.
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel parcel, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class android.view.FrameStats
From class java.lang.Object
From interface android.os.Parcelable

Fields

public static final Creator<WindowContentFrameStats> CREATOR

Added in API level 21

Public Methods

public int describeContents ()

Added in API level 21

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public long getFramePostedTimeNano (int index)

Added in API level 21

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 The frame index.
Returns
  • The posted time in nanoseconds.

public long getFrameReadyTimeNano (int index)

Added in API level 21

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 The frame index.
Returns

public String toString ()

Added in API level 21

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel parcel, int flags)

Added in API level 21

Flatten this object in to a Parcel.

Parameters
parcel The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.