안드로이드 개발 질문/답변
(글 수 45,052)
public class CamARActivity extends Activity implements View.OnClickListener, SurfaceHolder.Callback { private static final int HINT_ID = Menu.FIRST;
public static final String TAG = "camera"; public static final int CROP_MSG = 1; public static final int KEEP = 2; public static final int RESTART_PREVIEW = 3; public static final int CLEAR_SCREEN_DELAY = 4; public static final int SHOW_LOADING = 5; public static final int HIDE_LOADING = 6; public static final int FINISH = 7;
private OrientationListener mOrientationListener; private int mLastOrientation = OrientationListener.ORIENTATION_UNKNOWN; private CameraIF mCameraDevice; private GLSurfaceView mGLSurfaceView; private CamModelRenderer mRenderer;
private PreviewCallback mPreviewCallback = new JpegPreviewCallback();
private CamARDrawer arToolkit = null; private Handler mHandler = new MainHandler();
private boolean isUseSerface = false; private boolean drawFlag = false; public Context mContext;
//----------------------- Override Methods ------------------------ /** Called with the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); //Context mContext; mContext = this; // Renderer mRenderer = new CamModelRenderer(false, getAssets(), "miku01.mqo", 0.01f); mRenderer.setMainHandler(mHandler);
requestWindowFeature(Window.FEATURE_PROGRESS); Window win = getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); boolean isGAEMode = false; if(getString(R.string.isGAEMode).equals("true")) { isGAEMode = true; } // init Camera. if(getString(R.string.camera_name).equals("jp.android_group.artoolkit.hardware.AttachedCamera")) { isUseSerface = true; setContentView(R.layout.devonecamera); SurfaceView mSurfaceView = (SurfaceView) findViewById(R.id.DEV1_camera_preview); mCameraDevice = new AttachedCamera(this, mSurfaceView);
// OpenGL Verw mGLSurfaceView = (GLSurfaceView) findViewById(R.id.DEV1_GL_view); mGLSurfaceView.setRenderer(mRenderer);
}else if(getString(R.string.camera_name).equals("jp.android_group.artoolkit.hardware.Dev1Camera")) { isUseSerface = true; setContentView(R.layout.devonecamera); SurfaceView mSurfaceView = (SurfaceView) findViewById(R.id.DEV1_camera_preview); mCameraDevice = new Dev1Camera(this, mSurfaceView);
// OpenGL Verw mGLSurfaceView = (GLSurfaceView) findViewById(R.id.DEV1_GL_view); mGLSurfaceView.setRenderer(mRenderer); } else { isUseSerface = true; setContentView(R.layout.devonecamera); SurfaceView mSurfaceView = (SurfaceView) findViewById(R.id.DEV1_camera_preview); mCameraDevice = new Dev1Camera(this, mSurfaceView); // OpenGL Verw mGLSurfaceView = (GLSurfaceView) findViewById(R.id.DEV1_GL_view); mGLSurfaceView.setRenderer(mRenderer); } mOrientationListener = new OrientationListener(this) { public void onOrientationChanged(int orientation) { mLastOrientation = orientation; } }; mCameraDevice.setPreviewCallback(mPreviewCallback); // init ARToolkit. InputStream camePara = getResources().openRawResource( R.raw.camera_para); InputStream patt = getResources().openRawResource( R.raw.patt); if(isGAEMode) { arToolkit = new CamARDrawerForGAE(camePara, patt, mRenderer); } else { arToolkit = new CamARDrawer(camePara, patt, mRenderer); } } @Override public void onStart() { super.onStart(); mCameraDevice.onStart(); draw(); } @Override public void onResume() { super.onResume(); Log.d("Main", "onResume"); mOrientationListener.enable(); mCameraDevice.onResume(); draw(); }
@Override public void onStop() { mCameraDevice.onStop(); super.onStop(); }
@Override protected void onPause() { mOrientationListener.disable(); mCameraDevice.onPause(); super.onPause(); } @Override protected void onDestroy() { mCameraDevice.onDestroy(); super.onDestroy(); } @Override public void onClick(View arg0) { // TODO Auto-generated method stub } /** @Override public boolean onTouchEvent(MotionEvent event) { Intent intent = new Intent(CamARActivity.this, MovieDog_5_4.class); startActivity(intent); finish(); return super.onTouchEvent(event); }*/ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case CROP_MSG: { Intent intent = new Intent(); if (data != null) { Bundle extras = data.getExtras(); if (extras != null) { intent.putExtras(extras); } } setResult(resultCode, intent); finish(); break; } } }
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { Log.d("Main", "surfaceChanged"); if(!isUseSerface) { return; } if(mCameraDevice instanceof Dev1Camera) { Dev1Camera cam = (Dev1Camera)mCameraDevice; cam.surfaceChanged(holder, format, w, h); } else if(mCameraDevice instanceof AttachedCamera) { AttachedCamera cam = (AttachedCamera)mCameraDevice; cam.surfaceChanged(holder, format, w, h); } }
public void surfaceCreated(SurfaceHolder holder) { if(!isUseSerface) { return; } if(mCameraDevice instanceof Dev1Camera) { Dev1Camera cam = (Dev1Camera)mCameraDevice; cam.surfaceCreated(holder); } else if(mCameraDevice instanceof AttachedCamera) { AttachedCamera cam = (AttachedCamera)mCameraDevice; cam.surfaceCreated(holder); } } public void surfaceDestroyed(SurfaceHolder holder) { if(!isUseSerface) { return; } if(mCameraDevice instanceof Dev1Camera) { Dev1Camera cam = (Dev1Camera)mCameraDevice; cam.surfaceDestroyed(holder); } else if(mCameraDevice instanceof AttachedCamera) { AttachedCamera cam = (AttachedCamera)mCameraDevice; cam.surfaceDestroyed(holder); } } // ---------------------- getter & setter ---------------------------
public int getLastOrientation() { return mLastOrientation; } // ---------------------------- Utils ---------------------------------
public static int roundOrientation(int orientationInput) { Log.d("roundOrientation", "orientationInput:" + orientationInput); int orientation = orientationInput; if (orientation == -1) orientation = 0; orientation = orientation % 360; int retVal; if (orientation < (0*90) + 45) { retVal = 0; } else if (orientation < (1*90) + 45) { retVal = 90; } else if (orientation < (2*90) + 45) { retVal = 180; } else if (orientation < (3*90) + 45) { retVal = 270; } else { retVal = 0; }
return retVal; } public static Matrix GetDisplayMatrix(Bitmap b, ImageView v) { Matrix m = new Matrix(); float bw = (float)b.getWidth(); float bh = (float)b.getHeight(); float vw = (float)v.getWidth(); float vh = (float)v.getHeight(); float scale, x, y; if (bw*vh > vw*bh) { scale = vh / bh; x = (vw - scale*bw)*0.5F; y = 0; } else { scale = vw / bw; x = 0; y = (vh - scale*bh)*0.5F; } m.setScale(scale, scale, 0.5F, 0.5F); m.postTranslate(x, y); return m; } private void draw() { drawFlag = true; try { // The measure against over load. Thread.sleep(50);//50 } catch (InterruptedException e) { ; } drawFlag = false; mGLSurfaceView.queueEvent(new Runnable() { public void run() { while (!drawFlag) try { Thread.sleep(40);//40 } catch (InterruptedException e) { ; } } } ); } // ---------------------------- Callback classes --------------------------------- private final class JpegPreviewCallback implements PreviewCallback {
public void onPreviewFrame(byte [] jpegData, Camera camera) { Log.d("JpegPreviewCallback", "in JpegPreviewCallback..."); if(jpegData != null) { Log.d("JpegPreviewCallback", "data= OK"); arToolkit.draw(jpegData); draw(); } else { try { // The measure against over load. Thread.sleep(500); //500 } catch (InterruptedException e) { ; } } }
};
// ---------------------------- Handler classes --------------------------------- /** This Handler is used to post message back onto the main thread of the application */ private class MainHandler extends Handler { @Override public void handleMessage(Message msg) { mCameraDevice.handleMessage(msg); switch (msg.what) { case KEEP: { if (msg.obj != null) { mHandler.post((Runnable)msg.obj); } break; } case CLEAR_SCREEN_DELAY: { getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); break; } case SHOW_LOADING: { showDialog(DIALOG_LOADING); break; } case HIDE_LOADING: { try { dismissDialog(DIALOG_LOADING); removeDialog(DIALOG_LOADING); } catch (IllegalArgumentException e) { } break; } /* case FINISH: { try { try { finish(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (IllegalArgumentException e) { } break; }*/ } } }
public Handler getMessageHandler() { return this.mHandler; } private static final int DIALOG_LOADING = 0;
@Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_LOADING: { ProgressDialog dialog = new ProgressDialog(this); dialog.setMessage("Loading ..."); // dialog.setIndeterminate(true); // Resources res = null; // dialog.setIcon(res.getDrawable(R.drawable.cam_makedogfan)); dialog.setCancelable(false); dialog.getWindow().setFlags (WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND); return dialog; } default: return super.onCreateDialog(id); } }
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { drawFlag = true; mHandler.removeMessages(KEEP); mHandler.removeMessages(CLEAR_SCREEN_DELAY); mHandler.removeMessages(SHOW_LOADING); mHandler.removeMessages(HIDE_LOADING); mHandler = null; mRenderer.setMainHandler(null); arToolkit.bitmap.recycle(); //finish(); Intent intent = new Intent(CamARActivity.this, MovieDog_5_4.class); startActivity(intent); finish(); // Intent intent = new Intent(CamARActivity.this, MovieDog_5_4.class); // startActivity(intent); // finish(); }
// TODO Auto-generated method stub return super.onKeyDown(keyCode, event); } }
안녕하세요. 안드로이드를 공부하고 있는 학부생입니다.
다름이 아니라. 위의 소스(A)로부터 onKeyDown()으로 다음 액티비티(B)로 인텐트 시키면 잘 되는데,
또다시 인텐트 시킬 경우(C로) 계속해서 에러가 발생하고 강제 종료 여부 다이얼로그가 뜨네요. ㅠㅠ
액티비티 B와 C의 경우 배경그림만 다를뿐 단순히 다음 액티비티로의 인텐트만 수행하므로 동일해요.
아무래도 A소스를 잘 못 다루어서 메모리 때문에 에러가 나는 것 같은데,
도무지 방법을 모르겠어서 질문 드립니다. ㅜㅜ
부탁드립니다. ㅠㅠ
01-23 11:06:43.410: DEBUG/dalvikvm(426): GC freed 0 objects / 0 bytes in 125ms
01-23 11:06:43.420: DEBUG/nyar(426): resources have been loaded
01-23 11:06:43.420: DEBUG/AR draw(426): Marker detection.
01-23 11:06:44.310: DEBUG/AR draw(426): not exist marker.
01-23 11:06:44.370: DEBUG/JpegPictureCallback(426): check captureThreadLockObj
01-23 11:06:44.370: DEBUG/JpegPictureCallback(426): notify captureThreadLockObj
01-23 11:06:44.380: DEBUG/CaptureThread(426): !!!!!!!!!!!stop mCaptureThread.wait()!!!!!!!!!!!!!!!
01-23 11:06:44.380: DEBUG/CaptureThread(426): in onSnap
01-23 11:06:44.380: DEBUG/ImageCap(426): in onSnap
01-23 11:06:44.380: DEBUG/ImageCap(426): in SNAPSHOT_IN_PROGRESS.
01-23 11:06:44.390: DEBUG/JpegPictureCallback(426): end....
01-23 11:06:44.410: DEBUG/restartPreview(426): in restartPreview.
01-23 11:06:44.410: DEBUG/setViewFinder(426): in setViewFinder.
01-23 11:06:44.420: DEBUG/setViewFinder(426): w=320 h=430
01-23 11:06:44.420: DEBUG/CameraService(51): setPreviewDisplay(0x4afb8) (pid 426)
01-23 11:06:44.430: DEBUG/CameraService(51): getParameters(antibanding=off;antibanding-values=off;effect=none;effect-values=none,mono,negative,solarize,sepia,posterize,whiteboard,blackboard,aqua;jpeg-quality=85;jpeg-thumbnail-height=384;jpeg-thumbnail-quality=90;jpeg-thumbnail-width=512;picture-format=jpeg;picture-size=2048x1536;picture-size-values=2048x1536,1600x1200,1024x768;preview-format=yuv420sp;preview-frame-rate=15;preview-size=480x320;rotation=90;whitebalance=auto;whitebalance-values=auto,incandescent,florescent,daylight,cloudy,twilight,shade)
01-23 11:06:44.440: DEBUG/CameraService(51): setParameters(jpeg-thumbnail-width=512;antibanding-values=off;preview-frame-rate=15;preview-size=320x430;picture-format=jpeg;antibanding=off;jpeg-thumbnail-height=384;picture-size=2048x1536;effect=none;whitebalance=auto;jpeg-thumbnail-quality=90;jpeg-quality=85;whitebalance-values=auto,incandescent,florescent,daylight,cloudy,twilight,shade;preview-format=yuv420sp;rotation=90;effect-values=none,mono,negative,solarize,sepia,posterize,whiteboard,blackboard,aqua;picture-size-values=2048x1536,1600x1200,1024x768)
01-23 11:06:44.440: ERROR/QualcommCameraHardware(51): Invalid preview size requested: 320x430
01-23 11:06:44.450: DEBUG/setViewFinder(426): start mCameraDevice.startPreview().
01-23 11:06:44.450: DEBUG/CameraService(51): startPreview (pid 426)
01-23 11:06:44.450: DEBUG/CameraService(51): startCameraMode(0) (pid 426)
01-23 11:06:44.450: DEBUG/CameraService(51): startPreviewMode (pid 426)
01-23 11:06:44.450: INFO/QualcommCameraHardware(51): initPreview E: preview size=480x320
01-23 11:06:44.480: DEBUG/QualcommCameraHardware(51): frame_thread E
01-23 11:06:44.690: DEBUG/CaptureThread(426): in onSnap
01-23 11:06:44.690: DEBUG/ImageCap(426): in onSnap
01-23 11:06:44.690: DEBUG/ImageCap(426): in SNAPSHOT_IN_PROGRESS.
01-23 11:06:44.760: DEBUG/startPreview(426): in startPreview.
01-23 11:06:44.760: DEBUG/startPreview(426): out startPreview.
01-23 11:06:44.890: WARN/InputManagerService(79): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43387e90
01-23 11:06:44.990: DEBUG/CaptureThread(426): in autoFocus
01-23 11:06:44.990: DEBUG/CameraService(51): autoFocus (pid 426)
01-23 11:06:45.020: DEBUG/CaptureThread(426): !!!!!!!!!!!start mCaptureThread.wait()!!!!!!!!!!!!!!!
01-23 11:06:46.130: DEBUG/AutoFocusCallback(426): focused:true
01-23 11:06:46.130: DEBUG/AutoFocusCallback(426): mCaptureOnFocus:true
01-23 11:06:46.130: DEBUG/ImageCap(426): in onSnap
01-23 11:06:46.130: DEBUG/ImageCap(426): in initiate.
01-23 11:06:46.130: DEBUG/ImageCap(426): mCameraDevice ID:android.hardware.Camera@43306f88
01-23 11:06:46.130: DEBUG/ImageCap(426): in capture.
01-23 11:06:46.150: DEBUG/CameraService(51): getParameters(antibanding=off;antibanding-values=off;effect=none;effect-values=none,mono,negative,solarize,sepia,posterize,whiteboard,blackboard,aqua;jpeg-quality=85;jpeg-thumbnail-height=384;jpeg-thumbnail-quality=90;jpeg-thumbnail-width=512;picture-format=jpeg;picture-size=2048x1536;picture-size-values=2048x1536,1600x1200,1024x768;preview-format=yuv420sp;preview-frame-rate=15;preview-size=480x320;rotation=90;whitebalance=auto;whitebalance-values=auto,incandescent,florescent,daylight,cloudy,twilight,shade)
01-23 11:06:46.170: DEBUG/CameraService(51): setParameters(jpeg-thumbnail-width=512;antibanding-values=off;preview-frame-rate=15;preview-size=480x320;picture-format=jpeg;antibanding=off;jpeg-thumbnail-height=384;picture-size=2048x1536;effect=none;whitebalance=auto;jpeg-thumbnail-quality=90;jpeg-quality=85;whitebalance-values=auto,incandescent,florescent,daylight,cloudy,twilight,shade;preview-format=yuv420sp;rotation=90;effect-values=none,mono,negative,solarize,sepia,posterize,whiteboard,blackboard,aqua;picture-size-values=2048x1536,1600x1200,1024x768)
01-23 11:06:46.180: DEBUG/ImageCap(426): exec takePicture.
01-23 11:06:46.190: DEBUG/CameraService(51): takePicture (pid 426)
01-23 11:06:46.260: INFO/QualcommCameraHardware(51): deinitPreview E
01-23 11:06:46.260: INFO/QualcommCameraHardware(51): deinitPreview X
01-23 11:06:46.260: DEBUG/QualcommCameraHardware(51): frame_thread X
01-23 11:06:46.300: DEBUG/QualcommCameraHardware(51): snapshot_thread E
01-23 11:06:46.580: DEBUG/CameraService(51): postShutter
01-23 11:06:46.720: DEBUG/CameraService(51): postRaw
01-23 11:06:46.741: DEBUG/QualcommCameraHardware(51): snapshot_thread X
01-23 11:06:47.000: DEBUG/CameraService(51): postJpeg
01-23 11:06:47.010: DEBUG/Camera-JNI(426): dataCallback(8, 0x1e6fe0)
01-23 11:06:47.030: INFO/mm-camera-jpeg(51): freeing 21 jpeg memory leaks
01-23 11:06:47.170: DEBUG/dalvikvm(426): GC freed 680 objects / 1203432 bytes in 158ms
01-23 11:06:47.180: DEBUG/JpegPictureCallback(426): in JpegPictureCallback...
01-23 11:06:47.190: DEBUG/JpegPictureCallback(426): data= OK
01-23 11:06:47.190: DEBUG/JpegPreviewCallback(426): in JpegPreviewCallback...
01-23 11:06:47.190: DEBUG/JpegPreviewCallback(426): data= OK
01-23 11:06:47.190: DEBUG/AR draw(426): data.length= 370929
01-23 11:06:47.640: DEBUG/AR draw(426): bitmap.getHeight()= 512
01-23 11:06:47.640: DEBUG/AR draw(426): bitmap.getWidth()= 384
01-23 11:06:47.790: DEBUG/dalvikvm(426): GC freed 367 objects / 28432 bytes in 140ms
01-23 11:06:47.790: INFO/dalvikvm-heap(426): Grow heap (frag case) to 11.368MB for 589840-byte allocation
01-23 11:06:47.960: DEBUG/dalvikvm(426): GC freed 0 objects / 0 bytes in 158ms
01-23 11:06:47.980: DEBUG/AR draw(426): pixels:196608
01-23 11:06:48.340: DEBUG/nyar(426): resources have been loaded
01-23 11:06:48.350: DEBUG/AR draw(426): Marker detection.
01-23 11:06:49.290: DEBUG/AR draw(426): not exist marker.
01-23 11:06:49.320: DEBUG/ModelRenderer(426): in loadBitmap:
01-23 11:06:49.340: DEBUG/JpegPictureCallback(426): check captureThreadLockObj
01-23 11:06:49.350: DEBUG/JpegPictureCallback(426): notify captureThreadLockObj
01-23 11:06:49.350: DEBUG/CaptureThread(426): !!!!!!!!!!!stop mCaptureThread.wait()!!!!!!!!!!!!!!!
01-23 11:06:49.350: DEBUG/CaptureThread(426): in onSnap
01-23 11:06:49.350: DEBUG/ImageCap(426): in onSnap
01-23 11:06:49.350: DEBUG/ImageCap(426): in SNAPSHOT_IN_PROGRESS.
01-23 11:06:49.360: DEBUG/JpegPictureCallback(426): end....
01-23 11:06:49.370: DEBUG/restartPreview(426): in restartPreview.
01-23 11:06:49.370: DEBUG/setViewFinder(426): in setViewFinder.
01-23 11:06:49.380: DEBUG/setViewFinder(426): w=320 h=430
01-23 11:06:49.390: DEBUG/CameraService(51): setPreviewDisplay(0x4afb8) (pid 426)
01-23 11:06:49.420: DEBUG/CameraService(51): getParameters(antibanding=off;antibanding-values=off;effect=none;effect-values=none,mono,negative,solarize,sepia,posterize,whiteboard,blackboard,aqua;jpeg-quality=85;jpeg-thumbnail-height=384;jpeg-thumbnail-quality=90;jpeg-thumbnail-width=512;picture-format=jpeg;picture-size=2048x1536;picture-size-values=2048x1536,1600x1200,1024x768;preview-format=yuv420sp;preview-frame-rate=15;preview-size=480x320;rotation=90;whitebalance=auto;whitebalance-values=auto,incandescent,florescent,daylight,cloudy,twilight,shade)
01-23 11:06:49.450: DEBUG/CameraService(51): setParameters(jpeg-thumbnail-width=512;antibanding-values=off;preview-frame-rate=15;preview-size=320x430;picture-format=jpeg;antibanding=off;jpeg-thumbnail-height=384;picture-size=2048x1536;effect=none;whitebalance=auto;jpeg-thumbnail-quality=90;jpeg-quality=85;whitebalance-values=auto,incandescent,florescent,daylight,cloudy,twilight,shade;preview-format=yuv420sp;rotation=90;effect-values=none,mono,negative,solarize,sepia,posterize,whiteboard,blackboard,aqua;picture-size-values=2048x1536,1600x1200,1024x768)
01-23 11:06:49.450: ERROR/QualcommCameraHardware(51): Invalid preview size requested: 320x430
01-23 11:06:49.450: DEBUG/setViewFinder(426): start mCameraDevice.startPreview().
01-23 11:06:49.460: DEBUG/CameraService(51): startPreview (pid 426)
01-23 11:06:49.460: DEBUG/CameraService(51): startCameraMode(0) (pid 426)
01-23 11:06:49.460: DEBUG/CameraService(51): startPreviewMode (pid 426)
01-23 11:06:49.460: INFO/QualcommCameraHardware(51): initPreview E: preview size=480x320
01-23 11:06:49.500: DEBUG/QualcommCameraHardware(51): frame_thread E
01-23 11:06:49.650: DEBUG/CaptureThread(426): in onSnap
01-23 11:06:49.650: DEBUG/ImageCap(426): in onSnap
01-23 11:06:49.650: DEBUG/ImageCap(426): in SNAPSHOT_IN_PROGRESS.
01-23 11:06:49.780: DEBUG/startPreview(426): in startPreview.
01-23 11:06:49.780: DEBUG/startPreview(426): out startPreview.
01-23 11:06:49.950: DEBUG/CaptureThread(426): in autoFocus
01-23 11:06:49.950: DEBUG/CameraService(51): autoFocus (pid 426)
01-23 11:06:49.960: DEBUG/CaptureThread(426): !!!!!!!!!!!start mCaptureThread.wait()!!!!!!!!!!!!!!!
01-23 11:06:50.920: INFO/ActivityManager(79): Starting activity: Intent { cmp=edu.android.makefriend/.MovieDog_5_4 }
01-23 11:06:50.950: DEBUG/restartPreview(426): in restartPreview.
01-23 11:06:50.960: DEBUG/setViewFinder(426): in setViewFinder.
01-23 11:06:50.970: DEBUG/setViewFinder(426): w=320 h=430
01-23 11:06:50.970: DEBUG/setViewFinder(426): in no change size.
01-23 11:06:50.980: DEBUG/stopPreview(426): in stopPreview.
01-23 11:06:50.980: DEBUG/CameraService(51): stopPreview (pid 426)
01-23 11:06:51.070: INFO/QualcommCameraHardware(51): deinitPreview E
01-23 11:06:51.070: INFO/QualcommCameraHardware(51): deinitPreview X
01-23 11:06:51.070: DEBUG/CameraService(51): stopPreview(), hardware stopped OK
01-23 11:06:51.080: DEBUG/QualcommCameraHardware(51): frame_thread X
01-23 11:06:51.080: DEBUG/startPreview(426): out stopPreview.
01-23 11:06:51.080: DEBUG/LocationManager(426): removeUpdates: listener = jp.android_group.artoolkit.hardware.Dev1Camera$LocationListener@432b6e10
01-23 11:06:51.080: DEBUG/LocationManager(426): removeUpdates: listener = jp.android_group.artoolkit.hardware.Dev1Camera$LocationListener@432b6e90
01-23 11:06:51.110: INFO/WindowManager(79): Setting rotation to 1, animFlags=0
01-23 11:06:51.130: INFO/WindowManager(79): Config changed: { scale=1.0 imsi=0/0 loc=en_US touch=3 keys=1/1/2 nav=3 orien=2 layout=18}
01-23 11:06:51.140: WARN/WindowManager(79): performLayoutAndPlaceSurfacesLocked called while in layout
01-23 11:06:51.300: DEBUG/StatusBar(79): updateResources
01-23 11:06:51.520: DEBUG/dalvikvm(426): GC freed 265 objects / 1765248 bytes in 184ms
01-23 11:06:51.950: DEBUG/dalvikvm(426): GC freed 145 objects / 8056 bytes in 149ms
01-23 11:06:52.190: DEBUG/stopPreview(426): in stopPreview.
01-23 11:06:52.200: DEBUG/startPreview(426): out stopPreview.
01-23 11:06:52.390: INFO/ActivityManager(79): Displayed activity edu.android.makefriend/.MovieDog_5_4: 1308 ms (total 1308 ms)
01-23 11:06:52.430: DEBUG/restartPreview(426): in restartPreview.
01-23 11:06:52.430: DEBUG/setViewFinder(426): in setViewFinder.
01-23 11:06:52.430: DEBUG/setViewFinder(426): w=320 h=430
01-23 11:06:52.440: DEBUG/setViewFinder(426): in mPausing.
01-23 11:06:52.450: DEBUG/stopPreview(426): in stopPreview.
01-23 11:06:52.450: DEBUG/startPreview(426): out stopPreview.
01-23 11:06:52.450: DEBUG/Camera-JNI(426): release camera
01-23 11:06:52.460: DEBUG/CameraService(51): Client::disconnect() E (pid 426 client 0x4b490)
01-23 11:06:52.460: DEBUG/CameraService(51): hardware teardown
01-23 11:06:52.460: DEBUG/QualcommCameraHardware(51): release E
01-23 11:06:52.480: DEBUG/QualcommCameraHardware(51): release X
01-23 11:06:52.480: DEBUG/QualcommCameraHardware(51): ~QualcommCameraHardware E
01-23 11:06:52.480: DEBUG/QualcommCameraHardware(51): ~QualcommCameraHardware X
01-23 11:06:52.490: DEBUG/CameraService(51): removeClient (pid 426) done
01-23 11:06:52.490: DEBUG/CameraService(51): Client::disconnect() X (pid 426)
01-23 11:06:52.500: DEBUG/AttachedCamera(426): call stopPreview
01-23 11:06:52.530: DEBUG/CameraService(51): Client::~Client E (pid 51, client 0x4b490)
01-23 11:06:52.560: DEBUG/CameraService(51): Client::disconnect() E (pid 51 client 0x4b490)
01-23 11:06:52.570: DEBUG/CameraService(51): Client::~Client X (pid 51)
01-23 11:06:52.690: INFO/ActivityManager(79): Process com.google.android.apps.maps:FriendService (pid 282) has died.
01-23 11:06:54.240: INFO/ActivityManager(79): Starting activity: Intent { cmp=edu.android.makefriend/.MovieDog_5_5 }
01-23 11:06:54.470: DEBUG/dalvikvm(79): GC freed 1827 objects / 84200 bytes in 216ms
01-23 11:06:54.480: INFO/WindowManager(79): Setting rotation to 0, animFlags=0
01-23 11:06:54.500: INFO/WindowManager(79): Config changed: { scale=1.0 imsi=0/0 loc=en_US touch=3 keys=1/1/2 nav=3 orien=1 layout=18}
01-23 11:06:54.530: WARN/WindowManager(79): performLayoutAndPlaceSurfacesLocked called while in layout
01-23 11:06:54.540: WARN/WindowManager(79): performLayoutAndPlaceSurfacesLocked called while in layout
01-23 11:06:54.670: DEBUG/StatusBar(79): updateResources
01-23 11:06:54.700: INFO/WindowManager(79): Setting rotation to 1, animFlags=0
01-23 11:06:54.700: INFO/WindowManager(79): Config changed: { scale=1.0 imsi=0/0 loc=en_US touch=3 keys=1/1/2 nav=3 orien=2 layout=18}
01-23 11:06:54.860: DEBUG/StatusBar(79): updateResources
01-23 11:06:55.070: DEBUG/dalvikvm(426): GC freed 220 objects / 11024 bytes in 198ms
01-23 11:06:55.510: DEBUG/dalvikvm(426): GC freed 381 objects / 23504 bytes in 149ms
01-23 11:06:55.940: INFO/ActivityManager(79): Displayed activity edu.android.makefriend/.MovieDog_5_5: 1681 ms (total 1681 ms)
01-23 11:06:58.140: DEBUG/dalvikvm(79): GC freed 1581 objects / 71512 bytes in 209ms
01-23 11:07:00.110: INFO/ActivityManager(79): Starting activity: Intent { cmp=edu.android.makefriend/.MovieDog_5_6 }
01-23 11:07:00.130: INFO/WindowManager(79): Setting rotation to 0, animFlags=0
01-23 11:07:00.130: INFO/WindowManager(79): Config changed: { scale=1.0 imsi=0/0 loc=en_US touch=3 keys=1/1/2 nav=3 orien=1 layout=18}
01-23 11:07:00.230: DEBUG/StatusBar(79): updateResources
01-23 11:07:00.250: INFO/WindowManager(79): Setting rotation to 1, animFlags=0
01-23 11:07:00.260: INFO/WindowManager(79): Config changed: { scale=1.0 imsi=0/0 loc=en_US touch=3 keys=1/1/2 nav=3 orien=2 layout=18}
01-23 11:07:00.400: ERROR/dalvikvm-heap(426): 655360-byte external allocation too large for this process.
01-23 11:07:00.420: ERROR/(426): VM won't let us allocate 655360 bytes
01-23 11:07:00.420: DEBUG/skia(426): --- decoder->decode returned false
01-23 11:07:00.450: DEBUG/AndroidRuntime(426): Shutting down VM
01-23 11:07:00.460: WARN/dalvikvm(426): threadid=3: thread exiting with uncaught exception (group=0x4001da28)
01-23 11:07:00.460: ERROR/AndroidRuntime(426): Uncaught handler: thread main exiting due to uncaught exception
01-23 11:07:00.510: DEBUG/SurfaceFlinger(79): (post) eResizeRequested (layer=0x1df9c8), but size not changed: requested (480x25), drawing (480,25), current (480,25),state=00000014, index=0, (480x25), (480x25)
01-23 11:07:00.580: DEBUG/StatusBar(79): updateResources
01-23 11:07:00.820: ERROR/AndroidRuntime(426): java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.android.makefriend/edu.android.makefriend.MovieDog_5_6}: android.view.InflateException: Binary XML file line #2: Error inflating class java.lang.reflect.Constructor
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.ActivityThread.access$2100(ActivityThread.java:116)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.os.Handler.dispatchMessage(Handler.java:99)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.os.Looper.loop(Looper.java:123)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.ActivityThread.main(ActivityThread.java:4203)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at java.lang.reflect.Method.invoke(Method.java:521)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at dalvik.system.NativeStart.main(Native Method)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class java.lang.reflect.Constructor
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.LayoutInflater.createView(LayoutInflater.java:512)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:313)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.Activity.setContentView(Activity.java:1620)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at edu.android.makefriend.MovieDog_5_6.onCreate(MovieDog_5_6.java:36)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): ... 11 more
01-23 11:07:00.820: ERROR/AndroidRuntime(426): Caused by: java.lang.reflect.InvocationTargetException
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:47)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at java.lang.reflect.Constructor.constructNative(Native Method)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at java.lang.reflect.Constructor.newInstance(Constructor.java:446)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.LayoutInflater.createView(LayoutInflater.java:499)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): ... 21 more
01-23 11:07:00.820: ERROR/AndroidRuntime(426): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:439)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:322)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:688)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.content.res.Resources.loadDrawable(Resources.java:1710)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.View.<init>(View.java:1846)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.View.<init>(View.java:1795)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): at android.view.ViewGroup.<init>(ViewGroup.java:282)
01-23 11:07:00.820: ERROR/AndroidRuntime(426): ... 25 more
01-23 11:07:00.880: INFO/Process(79): Sending signal. PID: 426 SIG: 3
이걸 보면 레이아웃 xml이 잘못된것 같네요
소스와 로그가 너무 많아서 세부 내용은 안봤습니다 ㅡ.ㅡ;;