안드로이드 응용 프로그램에서 장치 카메라를 처리하고 있습니다. 코드에서 onPreviewFrame 함수는 영원히 반복되고 모든 signle 루프에서 YuvImage의 새 인스턴스를 만듭니다. 마지막으로 루프에서 인스턴스가 null로 설정되므로 시스템 가비지 수집기가 할당 된 메모리를 해제 할 수 있습니다.안드로이드에서 가비지 수집 3.2
이것은 Android 4.1에서는 완벽하게 작동하지만 3.2에서는 그렇지 않습니다. 안드로이드 3.2 os 에서이 응용 프로그램은 더 많은 메모리를 할당하고 마지막으로 메모리가 부족합니다.
무엇이 잘못 되었나요?
oPreview.oCamera.setPreviewCallbackWithBuffer(new Camera.PreviewCallback()
{
public synchronized void onPreviewFrame(byte[] bData, Camera oCamera)
{
...
YuvImage oYuv_image = new YuvImage(bData, iFormat, iW, iH, null);
...
oYuv_image = null;
}
}
로컬 인스턴스이므로 'null'로 설정하지 않아도됩니다. 전체 루프를 보여 주시겠습니까? – m0skit0
감사합니다. 문제 해결됨. – Veijo
문제를 해결 한 경우 답변을 게시하는 것이 좋습니다. – m0skit0