Logcat によると、私のアクティビティ (カメラを使用する) の開始は非常に遅くなります。
08-21 21:51:56.672: I/ActivityManager(488): Displayed com.blabla/.activities.TakePhotoActivity: +1s472ms
そこで、メソッド プロファイリングを使用して、問題がどこにあるかを確認することにしました (これは、遅いアクティビティが開始される場所です)。
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 秒以上失われています。
この間に何が起こっているかを知るにはどうすればよいですか?