0

根据 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 秒!

我如何知道这段时间发生了什么?

4

1 回答 1

1

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

于 2014-09-01T04:16:28.747 回答