我正在制作一个 Android 移动应用程序。我在 AsyncTask 中有一个对我的 Activity 的 WeakReference,以确保它可以被垃圾收集。
When onPostExecute()
接到电话,我愿意
Acitivty activity = mWeakRef.get();
然后我使用活动对象向用户显示对话框等。
我的问题是,当我试图确定要显示哪个对话框以及要做什么时,我的活动对象是否会变为空?如果 GC 在我的执行行之间运行,它会变成 null 吗?我从一开始就继续使用该对象是否安全get()
或者我必须重做get()
并在使用之前检查该值是否为空。
thanks!
它是安全的!
一旦将 get() 的结果分配给变量,您就会再次获得强引用,只要新引用存在,就会阻止该对象的垃圾回收。
当然,完成此分配后,您需要检查 Activity 是否为空。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)