0

我們有一個Xamarin.Android 7應用程序。 我們收到以下導致應用程序崩潰的異常。 它說了一些關於Android.Widget.Scroller的內容,但我們並沒有在我們的應用程序的任何地方明確地使用這個組件。 儘管我們在xaml文件中使用了ScrollView和GridView。SlidingMenuSharp System.ObjectDisposedException:無法訪問處置的對象。對象名稱:'Android.Widget.Scroller'

我們遇到的一個解決方案是回到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

使用new GC橋主場迎戰默認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

+0

我有類似的問題。日誌看起來相同,但對象是Xamarin.Forms.Platform.Android.FastRenderers.ButtonRenderer。你的解決方案沒有解決它。任何其他想法? – Dpedrinha

+1

@Dpedrinha如果它是基於FastRenderers的問題,請將其報告給Xamarin,因爲FastRenderer仍在進行中:http://bugzilla.xamarin.com/在此之後,禁用快速渲染器,直到他們發佈修復程序測試.... – SushiHangover

+0

上帝,我是如此親密......我會,但他們會要求repro,我很可能無法再現它。 – Dpedrinha

0

更新Xamarin.Forms到2.4.0-PRE1,它應該是固定的。

相關問題