Google made changes to how the JNI returns references to Java objects in Ice Cream Sandwich (4.0) so that native code can work with a moving GC.
http://android-developers.blogspot.com/2011/11/jni-local-ref...
Doesn't answer your question, just some supporting evidence.