根据 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 秒!
我如何知道这段时间发生了什么?