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
[email protected]
UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid