다름이 아니라 다음과 같은 error 가 찍히는데요..
I/Choreographer(31847): Skipped 35 frames! The application may be doing too much work on its main thread.
Preview 동작에는 문제가 없는데 가만 놔둬도 되나 싶기도 해서 이리저리 뒤적거려 봤는데 도저히 모르겠더라구요 ㅠㅠ
여기저기 검색해서 UI thread 와 별개로 Preview 를 돌리라~ 는 답변들을 보았는데요.. 어찌 해야 하는지..
MainActivity ->(Intent 로 startActivity 하여) CameraActivity
한 후에 CameraActivity 에서 Preview(SurfaceView) 객체를 생성하여 xml 에 선언된 custom view 에 묶어줬습니다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
Log.d(TAG, "Start onCreate");
mPreview = (Preview)findViewById(R.id.preview);
// capture button
Button captureButton = (Button) findViewById(R.id.button_capture);
captureButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// get an image from the camera
new Thread(new Runnable(){
public void run(){
mPreview.mCamera.takePicture(null, null, mPicture);
}
}).start();
}
});
}
코드는 위와 같구요, 정보가 부족하다면 댓글 남겨주시면 빠르게 반응하겠습니다
감사합니다~