2014-05-12 1 views
0

내 개인화 된 카메라가 의도에 의해 호출되면 충돌하지만 앱이 카메라로 직접 실행되면 작동합니다. 내 문제는, 카메라가 실행기로 설정되어 있지 않고 인 텐트를 통해 호출 된 경우 카메라가 표시되었지만 캡처 버튼을 누르면 충돌이 발생한다는 것입니다.의도로 호출 한 경우 카메라가 손상됩니다.

두 클래스가 있는데, 첫째는 startup screen이고 두 번째 클래스는 camera입니다. 시작 화면은 시작 프로그램이며 카메라 클래스는 매니페스트 선언의 기본값입니다. 앱을 실행하면 startp 화면이 표시되고 사용자가 '카메라 시작'버튼을 클릭하면 인 텐트를 통해 카메라 클래스가 호출됩니다. 캡처 버튼을 탭/클릭하면 카메라가 중단되고 중지됩니다.

이것은 카메라 클래스를 호출하는 나의 의도 코드입니다.

public void startCamera(View paramView) 
{ 
    Intent stCam = new Intent(GPSInitialize.this, MainActivity.class); 
    stCam.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
    stCam.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
    startActivity(stCam); 
    locationManager.removeUpdates((LocationListener) GPSInitialize.this); 
    finish(); 
} 

로그 캣 :

05-12 00:17:25.368: E/AndroidRuntime(1563): java.lang.OutOfMemoryError 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at android.graphics.Bitmap.nativeCopy(Native Method) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at android.graphics.Bitmap.copy(Bitmap.java:555) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at com.joules.camera3100.MainActivity$3.onPictureTaken(MainActivity.java:443) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at android.hardware.Camera$EventHandler.handleMessage(Camera.java:917) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at android.os.Handler.dispatchMessage(Handler.java:102) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at android.os.Looper.loop(Looper.java:136) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at java.lang.reflect.Method.invoke(Method.java:515) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
05-12 00:17:25.368: E/AndroidRuntime(1563):  at dalvik.system.NativeStart.main(Native Method) 
+1

게시물 로그 오류입니다. –

+0

"finish();"라고하는 이유 "startActivity (stCam); 이후" ?? finish()는 작업을 종료합니다. –

+0

finish를 사용하여 첫 번째 활동 또는 시작 클래스를 종료합니다. 그래서 finish(); 사실 저는이 클래스에서 다른 클래스를 호출하기 전에 시작 클래스를 닫을 것입니다.이 뷰에서는 카메라를 미리 볼 때 최소한의 메모리가 사용됩니다. 이 방법이 잘못 되었습니까? – user2609962

답변

0

안녕하세요 문제가 카메라하지만 메모리 문제가 아닙니다. 새 이미지를 저장할 메모리가 없기 때문에 이미지 캡쳐시 내부 메모리를 확인하십시오. 먼저 메모리 가용성을 확인한 다음 이미지를 캡처하십시오.

+0

메모리를 확인하는 방법? 저장 메모리를 확인하고 사용 가능한 공간이 9.83GB임을 보여줍니다. 나는 이것이 이미지를 위해 충분히 크다고 생각한다. – user2609962

+0

설정 -> 저장 공간으로 이동하여 내부 메모리를 확인하거나 사용하지 않는 이미지를 갤러 리나 앱에서 제거하십시오. –

+0

내부 메모리 또는 SD 카드 크기를 확인 했습니까? 이미지가 내부 메모리에 저장되기 때문입니다. –

관련 문제