다음과 같은 간단한 카메라 영상처리작업을 하는데요...
카메라에서 받아온 영상을 비트맵에다가 다시 그려주는 것이 메모리에 무리가 가는거 같습니다.
그래서 뻑이 나는거 같은데요...

문제는 그렇게 뻑이 나서 강제종료가 되면 이 어플을 다시 실행 시켜도 실행이 안된다는 것입니다..
즉 한번만 실행되고 그 다음 부터는 실행이 안된다는거죠..

그래서 핸폰을 껏다가 켜서 실행 시키면 다시 돌아갑니다(물론 또 뻑이 나지만요...)

아래 코드와 로그를 올립니다...

1. 메모리 문제가 맞는지좀 봐주시고요
2.해결할 방법이이쓴지좀 알려주세요..ㅠㅠ
3.강제종료 제대로 할수 있는 방법좀 알려주세요..

핸폰은 안드로원을 사용중입니다..(아무래도 하드웨어가 딸리는듯 합니다....)

public void surfaceChanged(SurfaceHolder holder, int format, int w,int h) {
  // TODO Auto-generated method stub
  Camera.Parameters parameters = mCamera.getParameters();
        parameters.setPreviewSize(wid,hei);
        parameters.setPreviewFrameRate(15);
        final int frame = parameters.getPreviewFrameRate();
         mCamera.setParameters(parameters);
        mCamera.startPreview();
        mCamera.setPreviewCallback(new PreviewCallback() {
         
   @Override
   public void onPreviewFrame(byte[] data, Camera camera) {
    // TODO Auto-generated method stub
    
    Canvas c = null;
    
    try{
     c = mHolder.lockCanvas(null);
     synchronized(mHolder){
      decodeYUV420SP1(rgb,data,wid,hei);   // YUV영상을 RGB로 디코더해주는 함수입니다.
      mBitmap.setPixels(rgb, 0, wid/2, 0, 0, wid/2, hei/2);
      draw(c);
      
     }
    }catch(Exception e){
     e.printStackTrace();
    }finally{
       if(c != null){
      mHolder.unlockCanvasAndPost(c); 
     }
   }
   }
  });
 }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
E/dalvikvm-heap( 1037): Out of memory on a 50704-byte allocation.
I/dalvikvm( 1037): "Binder Thread #1" prio=5 tid=11 RUNNABLE
I/dalvikvm( 1037):   | group="main" sCount=0 dsCount=0 s=0 obj=0x4372ce70
I/dalvikvm( 1037):   | sysTid=1042 nice=0 sched=0/0 handle=1054816
I/dalvikvm( 1037):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm( 1037):
E/Camera-JNI( 1037): Couldn't allocate byte array for YUV data
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.750MB to 16.000MB
D/dalvikvm( 1037): GC freed 4 objects / 112 bytes in 295ms
I/dalvikvm-heap( 1037): Forcing collection of SoftReferences for 50704-byte allo
cation
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.750MB to 16.000MB
D/dalvikvm( 1037): GC freed 0 objects / 0 bytes in 223ms
E/dalvikvm-heap( 1037): Out of memory on a 50704-byte allocation.
I/dalvikvm( 1037): "Binder Thread #1" prio=5 tid=11 RUNNABLE
I/dalvikvm( 1037):   | group="main" sCount=0 dsCount=0 s=0 obj=0x4372ce70
I/dalvikvm( 1037):   | sysTid=1042 nice=0 sched=0/0 handle=1054816
I/dalvikvm( 1037):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm( 1037):
E/Camera-JNI( 1037): Couldn't allocate byte array for YUV data
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.755MB to 16.000MB
D/dalvikvm( 1037): GC freed 4 objects / 112 bytes in 305ms
I/dalvikvm-heap( 1037): Forcing collection of SoftReferences for 50704-byte allo
cation

I/dalvikvm-heap( 1037): Clamp target GC heap from 17.755MB to 16.000MB
D/dalvikvm( 1037): GC freed 0 objects / 0 bytes in 269ms
E/dalvikvm-heap( 1037): Out of memory on a 50704-byte allocation.
I/dalvikvm( 1037): "Binder Thread #1" prio=5 tid=11 RUNNABLE
I/dalvikvm( 1037):   | group="main" sCount=0 dsCount=0 s=0 obj=0x4372ce70
I/dalvikvm( 1037):   | sysTid=1042 nice=0 sched=0/0 handle=1054816
I/dalvikvm( 1037):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm( 1037):
E/Camera-JNI( 1037): Couldn't allocate byte array for YUV data
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.702MB to 16.000MB
D/dalvikvm( 1037): GC freed 10 objects / 57384 bytes in 279ms
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.750MB to 16.000MB
D/dalvikvm( 1037): GC freed 5 objects / 192 bytes in 309ms
I/dalvikvm-heap( 1037): Forcing collection of SoftReferences for 50704-byte allo
cation
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.750MB to 16.000MB
D/dalvikvm( 1037): GC freed 0 objects / 0 bytes in 229ms
E/dalvikvm-heap( 1037): Out of memory on a 50704-byte allocation.
I/dalvikvm( 1037): "Binder Thread #1" prio=5 tid=11 RUNNABLE
I/dalvikvm( 1037):   | group="main" sCount=0 dsCount=0 s=0 obj=0x4372ce70
I/dalvikvm( 1037):   | sysTid=1042 nice=0 sched=0/0 handle=1054816
I/dalvikvm( 1037):   at dalvik.system.NativeStart.run(Native Method)
I/dalvikvm( 1037):
E/Camera-JNI( 1037): Couldn't allocate byte array for YUV data
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.750MB to 16.000MB
D/dalvikvm( 1037): GC freed 4 objects / 112 bytes in 196ms
I/dalvikvm-heap( 1037): Forcing collection of SoftReferences for 50704-byte allo
cation
I/dalvikvm-heap( 1037): Clamp target GC heap from 17.750MB to 16.000MB
D/dalvikvm( 1037): GC freed 0 objects / 0 bytes in 139ms