title: NDK: Does GetByteArrayElements copy data from Java to C++?
body: <p>I've read this link about the GetByteArrayElements:
  FAQ: How do I share raw data with native code?
  <a href="http://developer.android.com/training/articles/perf-jni.html" rel="nofollow noreferrer">http://developer.android.com/training/articles/perf-jni.html</a></p>
  
  <ol>
  <li><p>It said that GetByteArrayElements will return a actual pointers to the raw data in the Dalvik heap. So I can manipulate the raw source in C++ and speed up the process, am I right?</p></li>
  <li><p>And so, ReleaseByteArrayElements won't copy the data also? Or since GetByteArrayElements return a pointer and I don't even need to release it after manipulation of data just like using GetDirectBufferAddress for FloatBuffer?</p></li>
  <li><p>If it doesn't have to copy any data from Java to C++, is that possible to pass in and manipulate float array via GetByteArrayElements? Plz answer at <a href="https://stackoverflow.com/questions/21691152/ndk-passing-jfloat-array-from-java-to-c-via-getbytearrayelements">NDK: Passing Jfloat array from Java to C++ via GetByteArrayElements?</a></p></li>
  </ol>