我们有一个Xamarin.Android 7应用程序。 我们收到以下异常导致应用程序崩溃。 它说了一些关于Android.Widget.Scroller的内容,但是我们并没有在我们的app中明确地使用这个组件。 我们在xaml文件中使用ScrollView和GridView。
我们遇到的一个解决方案是回到Xamarin.Android 6,但由于应用程序的要求,这不是一个可行的解决方案。 我们遇到的另一个解决方案是使用ListViewCachingStrategy,但无法在Xamarin.Android中找到如何做到这一点。
请在这里帮助我们,这是我们任务中的一大障碍。
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Android.Widget.Scroller'.
at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <5716a943049b49ca928a3a1c8d2386f4>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualBooleanMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <5716a943049b49ca928a3a1c8d2386f4>:0
at Android.Widget.Scroller.get_IsFinished () [0x0000a] in <8804aaaf21bc4f45b576b50092b57059>:0
at SlidingMenuSharp.CustomViewAbove.ComputeScroll () [0x00001] in <20b4998942db4089b3ed88297710fab6>:0
at Android.Views.View.n_ComputeScroll (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <8804aaaf21bc4f45b576b50092b57059>:0
at (wrapper dynamic-method) System.Object:0044ef4c-4a4e-4ecd-8301-8be4cc63baea (intptr,intptr)
答案 0 :(得分:0)
使用new
GC Bridge与默认tarjan
:
MONO_GC_PARAMS=bridge-implementation=new
在Xamarin.Android
项目中创建一个文本文件,并在其上设置AndroidEnvironment
的构建类型,并在其中加入MONO_GC_PARAMS
行。
重建并测试您的项目。
回复:https://developer.xamarin.com/guides/android/advanced_topics/garbage_collection/#GC_Bridge_Options
答案 1 :(得分:0)
将Xamarin.Forms更新为2.4.0-pre1,应该修复。