根据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秒以上!
如何找出这段时间发生的事情?