public virtual void DeleteWeakGlobalReference(ref JniObjectReference reference) { if (!reference.IsValid) { return; } AssertReferenceType(ref reference, JniObjectReferenceType.WeakGlobal); AssertCount(WeakGlobalReferenceCount, "WGREF", reference.ToString()); JniEnvironment.References.DeleteWeakGlobalRef(reference.Handle); reference.Invalidate(); }
public virtual void DeleteLocalReference(ref JniObjectReference reference, ref int localReferenceCount) { if (!reference.IsValid) { return; } AssertReferenceType(ref reference, JniObjectReferenceType.Local); localReferenceCount--; AssertCount(localReferenceCount, "LREF", reference.ToString()); JniEnvironment.References.DeleteLocalRef(reference.Handle); reference.Invalidate(); }
public virtual IntPtr ReleaseLocalReference(ref JniObjectReference reference, ref int localReferenceCount) { if (!reference.IsValid) { return(IntPtr.Zero); } localReferenceCount--; AssertCount(localReferenceCount, "LREF", reference.ToString()); var h = reference.Handle; reference.Invalidate(); return(h); }