Search Issue Tracker
Fixed in 2021.2.X
There is no way to have 2 instances of AndroidJavaObject with different references
1 AndroidJavaObject needs to be passed to multiple independent bodies of code -- each which have their own independent duration for holding onto the AndroidJavaObject.
One returns an AndroidJavaObject from an AndroidJavaProxy method then AndroidJavaProxy automatically calls Dispose() on that AndroidJavaObject outside the developer's visibility or control while other code may need to continue using that AndroidJavaObject.
public static AndroidJavaObject NewAndroidJavaObject(AndroidJavaObject androidJavaObject)
if (androidJavaObject == null)
AndroidJavaClass objectsClass = AndroidUtilities.objectsClass;
if (objectsClass == null)
AndroidUtilities.objectsClass = objectsClass = new AndroidJavaClass("java.util.Objects");
return objectsClass.CallStatic<AndroidJavaObject>("requireNonNull", androidJavaObject);
Related forum thread: https://forum.unity.com/threads/androidjavaobject-any-way-to-clone-for-separate-dispose-management.967609/
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- Light transform gizmos stopped rendering in scene view
- Poor performance when loading or unloading a large Scene
- Go wide on shader compression
- Scene is brighter in Standalone player if it was open in the Editor at build time
- [Video] "WindowsVideoMedia error unhandled Color Standard" warning when importing various video formats