public final class WindowContentFrameStats
extends FrameStats
implements Parcelable
java.lang.Object | ||
↳ | android.view.FrameStats | |
↳ | android.view.WindowContentFrameStats |
该类包含窗口内容框架统计信息。 例如,当一个视图滚动时,窗口内容是百帧。 帧统计数据是从getStartTimeNano()
到getEndTimeNano()
的时间间隔的快照。
关键的想法是,为了提供流畅的用户体验,应用程序必须在通过调用getRefreshPeriodNano()
获得的特定时间间隔内绘制一帧。 如果应用程序在每个刷新周期都不呈现一个帧,则用户将看到不规则的UI过渡。
应用程序通过同步地将其内容呈现在缓存中,然后发布或张贴应用程序通过GL异步呈现内容的缓存来发布用于呈现的帧。 在框架被发布并呈现之后(可能是异步的)它被呈现给用户。 一个帧被张贴的时间可以通过获得getFramePostedTimeNano(int)
通过,帧内容被渲染的时间和准备dsiplay(GL情况下) getFrameReadyTimeNano(int)
,以及时的帧经由在屏幕上呈现getFramePresentedTimeNano(int)
。
Inherited constants |
---|
From class android.view.FrameStats
|
From interface android.os.Parcelable
|
Fields |
|
---|---|
public static final Creator<WindowContentFrameStats> |
CREATOR |
Public methods |
|
---|---|
int |
describeContents() 描述此Parcelable实例的封送表示中包含的特殊对象的种类。 |
long |
getFramePostedTimeNano(int index) 获取给定索引处的帧由制作者发布(例如, |
long |
getFrameReadyTimeNano(int index) 获取给定索引处的帧可供演示的时间。 |
String |
toString() 返回对象的字符串表示形式。 |
void |
writeToParcel(Parcel parcel, int flags) 将此对象平铺到一个包裹中。 |
Inherited methods |
|
---|---|
From class android.view.FrameStats
|
|
From class java.lang.Object
|
|
From interface android.os.Parcelable
|
int describeContents ()
描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象将在writeToParcel(Parcel, int)
的输出中包含writeToParcel(Parcel, int)
,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR
位。
Returns | |
---|---|
int |
a bitmask indicating the set of special object types marshaled by this Parcelable object instance. |
long getFramePostedTimeNano (int index)
获取给定索引处的帧由制作者发布(例如应用程序)。 它可以显式设置或默认为呈现缓冲区的时间。
注意:可以发布一个框架,并仍然在GL中异步渲染它的内容。 为了获得帧内容完全呈现的时间并准备好显示调用getFrameReadyTimeNano(int)
。
Parameters | |
---|---|
index |
int : The frame index. |
Returns | |
---|---|
long |
The posted time in nanoseconds. |
long getFrameReadyTimeNano (int index)
获取给定索引处的帧可供演示的时间。
注意:可以发布一个框架,并仍然在GL中异步渲染它的内容。 在这种情况下,这是帧内容完全呈现的时间。
Parameters | |
---|---|
index |
int : The frame index. |
Returns | |
---|---|
long |
The ready time in nanoseconds or UNDEFINED_TIME_NANO if the frame is not ready yet. |
String toString ()
返回对象的字符串表示形式。 通常, toString
方法会返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。
类Object
的toString
方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @
”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns | |
---|---|
String |
a string representation of the object. |
void writeToParcel (Parcel parcel, int flags)
将此对象平铺到一个包裹中。
Parameters | |
---|---|
parcel |
Parcel : The Parcel in which the object should be written. |
flags |
int : Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE . |