使用方法跟踪测量活动开始时间不准确?

时间:2014-08-21 21:01:01

标签: android optimization android-traceview

根据Logcat的说法,我的活动(使用相机)启动非常缓慢:

08-21 21:51:56.672: I/ActivityManager(488): Displayed com.blabla/.activities.TakePhotoActivity: +1s472ms

所以我决定使用方法分析来查看问题所在(这是缓慢启动Activity的地方):

public void onClick(View v) {
    Debug.startMethodTracing();
    Intent intent = new Intent(getApplicationContext(), TakePhotoActivity.class);
    startActivity(intent);
    overridePendingTransition(R.anim.enter_from_right, R.anim.exit_to_left);
}

在TakePhotoActivity的onResume中我调用:

protected void onResume() {
    super.onResume();
    cameraView.onResume();
    Debug.stopMethodTracing();
}

但令我惊讶的是,Traceview只显示了260毫秒的方法调用,所以我在某处丢失了1秒以上!

如何找出这段时间发生的事情?

1 个答案:

答案 0 :(得分:1)

Here是一个很好的教程,关于如何在Android应用程序上使用跟踪视图。只需运行它并检查哪些子方法导致时间丢失。它有一个很好的时间使用的可视化表示。