From a95f495f75d0516ad48576500f64a3ffea037af8 Mon Sep 17 00:00:00 2001 From: Dave Sparks Date: Fri, 10 Jul 2009 18:13:36 -0700 Subject: [PATCH] Use SetByteArrayRegion to minimize copy overhead and JNI calls. --- core/jni/android_hardware_Camera.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp index b841076637d49..2874be48403e3 100644 --- a/core/jni/android_hardware_Camera.cpp +++ b/core/jni/android_hardware_Camera.cpp @@ -143,10 +143,7 @@ void JNICameraContext::copyAndPost(JNIEnv* env, const sp& dataPtr, int LOGE("Couldn't allocate byte array for JPEG data"); env->ExceptionClear(); } else { - jbyte *bytes = static_cast(env->GetPrimitiveArrayCritical(obj, NULL)); - memcpy(bytes, data, size); - env->ReleasePrimitiveArrayCritical(obj, bytes, 0); - + env->SetByteArrayRegion(obj, 0, size, data); } } else { LOGE("image heap is NULL");