SlidingMenuSharp System.ObjectDisposedException:无法访问已处置的对象。对象名称:' Android.Widget.Scroller'

时间:2017-08-17 06:36:46

标签: xamarin xamarin.android scrollview objectdisposedexception

我们有一个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)

2 个答案:

答案 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,应该修复。