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