本文整理了Java中android.os.Trace
类的一些代码示例,展示了Trace
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Trace
类的具体详情如下:
包路径:android.os.Trace
类名称:Trace
暂无
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
switch(appStep) {
case BeginFrame:
android.os.Trace.beginSection("Frame");
break;
case QueuedTasks:
android.os.Trace.beginSection("QueuedTask");
break;
case ProcessInput:
android.os.Trace.endSection();
android.os.Trace.beginSection("ProcessInput");
break;
case ProcessAudio:
android.os.Trace.endSection();
android.os.Trace.beginSection("ProcessAudio");
break;
case StateManagerUpdate:
android.os.Trace.endSection();
android.os.Trace.beginSection("StateManagerUpdate");
break;
case SpatialUpdate:
android.os.Trace.endSection();
android.os.Trace.beginSection("SpatialUpdate");
break;
case StateManagerRender:
android.os.Trace.endSection();
android.os.Trace.beginSection("StateManagerRender");
break;
case RenderFrame:
android.os.Trace.endSection();
代码示例来源:origin: robolectric/robolectric
/**
* Ends the most recent active trace section.
*
* @throws {@link AssertionError} if called without any active trace section.
*/
@Implementation(minSdk = JELLY_BEAN_MR2)
protected static void endSection() {
if (Trace.isTagEnabled(TRACE_TAG_APP)) {
synchronized (lock) {
if (currentSections.isEmpty()) {
Log.e(TAG, "Trying to end a trace section that was never started");
return;
}
previousSections.offer(currentSections.removeFirst());
}
}
}
代码示例来源:origin: facebook/litho
@Override
public void beginSection(String name) {
if (ComponentsConfiguration.IS_INTERNAL_BUILD
&& Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
Trace.beginSection(name);
}
}
代码示例来源:origin: facebook/litho
@Override
public void endSection() {
if (ComponentsConfiguration.IS_INTERNAL_BUILD &&
Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
Trace.endSection();
}
}
代码示例来源:origin: facebook/litho
@Override
public void flush() {
Trace.beginSection(mName);
}
代码示例来源:origin: google/ExoPlayer
@TargetApi(18)
private static void endSectionV18() {
android.os.Trace.endSection();
}
代码示例来源:origin: jMonkeyEngine/jmonkeyengine
public void vpStep(VpStep vpStep, ViewPort vp, RenderQueue.Bucket bucket) {
if (androidApiLevel >= 18) {
switch (vpStep) {
case BeginRender:
android.os.Trace.beginSection("Render: " + vp.getName());
break;
case RenderScene:
android.os.Trace.beginSection("RenderScene: " + vp.getName());
break;
case PostQueue:
android.os.Trace.endSection();
android.os.Trace.beginSection("PostQueue: " + vp.getName());
break;
case FlushQueue:
android.os.Trace.endSection();
android.os.Trace.beginSection("FlushQueue: " + vp.getName());
break;
case PostFrame:
android.os.Trace.endSection();
android.os.Trace.beginSection("PostFrame: " + vp.getName());
break;
case EndRender:
android.os.Trace.endSection();
android.os.Trace.endSection();
break;
}
}
}
代码示例来源:origin: google/ExoPlayer
@TargetApi(18)
private static void beginSectionV18(String sectionName) {
android.os.Trace.beginSection(sectionName);
}
代码示例来源:origin: JakeWharton/hugo
private static void exitMethod(JoinPoint joinPoint, Object result, long lengthMillis) {
if (!enabled) return;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
Trace.endSection();
}
Signature signature = joinPoint.getSignature();
Class<?> cls = signature.getDeclaringType();
String methodName = signature.getName();
boolean hasReturnType = signature instanceof MethodSignature
&& ((MethodSignature) signature).getReturnType() != void.class;
StringBuilder builder = new StringBuilder("\u21E0 ")
.append(methodName)
.append(" [")
.append(lengthMillis)
.append("ms]");
if (hasReturnType) {
builder.append(" = ");
builder.append(Strings.toString(result));
}
Log.v(asTag(cls), builder.toString());
}
代码示例来源:origin: robolectric/robolectric
/** Starts a new trace section with given name. */
@Implementation(minSdk = JELLY_BEAN_MR2)
protected static void beginSection(String sectionName) {
if (Trace.isTagEnabled(TRACE_TAG_APP)) {
if (crashOnIncorrectUsage) {
if (sectionName.length() > MAX_SECTION_NAME_LEN) {
throw new IllegalArgumentException("sectionName is too long");
}
} else if (sectionName == null) {
Log.w(TAG, "Section name cannot be null");
return;
} else if (sectionName.length() > MAX_SECTION_NAME_LEN) {
Log.w(TAG, "Section name is too long");
return;
}
synchronized (lock) {
currentSections.addFirst(sectionName);
}
}
}
代码示例来源:origin: robolectric/robolectric
@Test
public void endSection_oneSectionButCalledTwice_doesNotThrow() throws Exception {
Trace.beginSection("section1");
Trace.endSection();
Trace.endSection();
// Should not crash.
}
代码示例来源:origin: JakeWharton/hugo
private static void enterMethod(JoinPoint joinPoint) {
if (!enabled) return;
CodeSignature codeSignature = (CodeSignature) joinPoint.getSignature();
Class<?> cls = codeSignature.getDeclaringType();
String methodName = codeSignature.getName();
String[] parameterNames = codeSignature.getParameterNames();
Object[] parameterValues = joinPoint.getArgs();
StringBuilder builder = new StringBuilder("\u21E2 ");
builder.append(methodName).append('(');
for (int i = 0; i < parameterValues.length; i++) {
if (i > 0) {
builder.append(", ");
}
builder.append(parameterNames[i]).append('=');
builder.append(Strings.toString(parameterValues[i]));
}
builder.append(')');
if (Looper.myLooper() != Looper.getMainLooper()) {
builder.append(" [Thread:\"").append(Thread.currentThread().getName()).append("\"]");
}
Log.v(asTag(cls), builder.toString());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
final String section = builder.toString().substring(2);
Trace.beginSection(section);
}
}
代码示例来源:origin: robolectric/robolectric
@Test
public void endSection_calledBeforeBeginning_doesNotThrow() throws Exception {
Trace.endSection();
// Should not crash.
}
代码示例来源:origin: org.robolectric/shadows-framework
/**
* Ends the most recent active trace section.
*
* @throws {@link AssertionError} if called without any active trace section.
*/
@Implementation(minSdk = JELLY_BEAN_MR2)
protected static void endSection() {
if (Trace.isTagEnabled(TRACE_TAG_APP)) {
synchronized (lock) {
if (currentSections.isEmpty()) {
Log.e(TAG, "Trying to end a trace section that was never started");
return;
}
previousSections.offer(currentSections.removeFirst());
}
}
}
代码示例来源:origin: robolectric/robolectric
@Test
public void endSection_twoSequentialSections_closesAllSections() throws Exception {
Trace.beginSection("section1");
Trace.endSection();
Trace.beginSection("section2");
Trace.endSection();
assertThat(ShadowTrace.getCurrentSections()).isEmpty();
assertThat(ShadowTrace.getPreviousSections()).containsExactly("section1", "section2");
}
代码示例来源:origin: robolectric/robolectric
@Test
public void beginSection_tagIsNullAndCrashDisabled_doesNotThrow() throws Exception {
ShadowTrace.doNotUseSetCrashOnIncorrectUsage(false);
Trace.beginSection(null);
// Should not crash.
}
代码示例来源:origin: halfhp/androidplot
public static void end() {
if(Build.VERSION.SDK_INT >= 18) {
Trace.endSection();
} else {
// TODO: alternate impl?
}
}
}
代码示例来源:origin: org.robolectric/shadows-framework
/** Starts a new trace section with given name. */
@Implementation(minSdk = JELLY_BEAN_MR2)
protected static void beginSection(String sectionName) {
if (Trace.isTagEnabled(TRACE_TAG_APP)) {
if (crashOnIncorrectUsage) {
if (sectionName.length() > MAX_SECTION_NAME_LEN) {
throw new IllegalArgumentException("sectionName is too long");
}
} else if (sectionName == null) {
Log.w(TAG, "Section name cannot be null");
return;
} else if (sectionName.length() > MAX_SECTION_NAME_LEN) {
Log.w(TAG, "Section name is too long");
return;
}
synchronized (lock) {
currentSections.addFirst(sectionName);
}
}
}
代码示例来源:origin: robolectric/robolectric
@Test
public void endSection_twoRecursiveSectionsAndCalledTwice_closesAllSections() throws Exception {
Trace.beginSection("section1");
Trace.beginSection("section2");
Trace.endSection();
Trace.endSection();
assertThat(ShadowTrace.getCurrentSections()).isEmpty();
assertThat(ShadowTrace.getPreviousSections()).containsExactly("section2", "section1");
}
代码示例来源:origin: robolectric/robolectric
@Test
public void beginSection_calledTwice_addsBothSections() throws Exception {
Trace.beginSection("section1");
Trace.beginSection("section2");
assertThat(ShadowTrace.getCurrentSections()).containsExactly("section1", "section2");
assertThat(ShadowTrace.getPreviousSections()).isEmpty();
}
内容来源于网络,如有侵权,请联系作者删除!