0

Nous avons une application Xamarin.Android 7. Nous recevons l'exception suivante qui provoque le blocage de l'application. Il dit quelque chose à propos de Android.Widget.Scroller, mais nous n'utilisons pas ce composant explicitement dans notre application partout. Nous utilisons cependant ScrollView et GridView dans les fichiers xaml.SlidingMenuSharp System.ObjectDisposedException: impossible d'accéder à un objet éliminé. Nom de l'objet: 'Android.Widget.Scroller'

Une solution que nous avons trouvée était de revenir à Xamarin.Android 6, mais ce n'est pas une solution réalisable en raison des exigences de l'application. Une autre solution que nous avons rencontré consistait à utiliser ListViewCachingStrategy, mais n'a pas pu trouver comment le faire dans Xamarin.Android.

S'il vous plaît aidez-nous ici, ceci est énorme barrage routier dans notre tâche.

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) 

Répondre

0

Utilisez le new GC pont par rapport à la valeur par défaut tarjan:

MONO_GC_PARAMS=bridge-implementation=new 

Créez un fichier texte dans votre projet Xamarin.Android et définir un type de construction de AndroidEnvironment dessus et comprennent la ligne MONO_GC_PARAMS d'en haut. Reconstruisez et testez votre projet.

Re: https://developer.xamarin.com/guides/android/advanced_topics/garbage_collection/#GC_Bridge_Options

+0

J'ai un problème similaire. Le journal est identique mais l'objet est Xamarin.Forms.Platform.Android.FastRenderers.ButtonRenderer. Votre solution ne l'a pas réparée. D'autres idées? – Dpedrinha

+1

@Dpedrinha S'il s'agit d'un problème basé sur 'FastRenderers', signalez-le à Xamarin car les FastRenderers sont encore en cours de développement: http://bugzilla.xamarin.com/ Ensuite, désactivez les moteurs de rendu rapides jusqu'à ce qu'ils publient un correctif sur test .... – SushiHangover

+0

Dieu j'étais si proche ... je le ferai, mais ils vont demander un repro et je ne serai probablement pas en mesure de le reproduire. – Dpedrinha

0

Mise à jour Xamarin.Forms à 2.4.0-pre1 et il devrait être fixé.