On Oct 31, 2011, at 6:39 AM, sound wrote:
> In previous versions I have used JNIEnv::GetObjectRefType() to identify
> object type and remove it. Android.Runtime.JObjectRefType is internal, so
> how i can implement this functionality now?

It was removed because it doesn't work:

        http://developer.android.com/guide/practices/design/jni.html#unsupported

        • GetObjectRefType (new in JNI 1.6) is implemented but not fully 
functional — it can't always tell the difference between "local" and "global" 
references.

If you're depending on it, your code is broken. It's _probably_ been fixed in 
v4.0, but this is of no help for all the previous platforms. This is also why 
1.9.2 changed all IntPtr parameters which "consume" the IntPtr into a (IntPtr, 
JniHandleOwnership) pair, and JniHandleOwnership specifies which type of 
reference the IntPtr contains.

Consequently, you need to store the type reference type alongside the 
reference, so that you can properly delete the reference.

 - Jon

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to