Я создал простое навигационное приложение, в котором есть несколько экранов, которые содержат средства выбора, списки, кнопки и изображения с использованием Skia sharp SVG.
Кажется, все работает правильно, но иногда оно случайным образом генерирует исключение в любой случайной позиции. Даже когда я оставляю приложение открытым некоторое время, я получаю то же исключение.
Ошибка, которую он выдает:
Коллекция была изменена; операция перечисления может не выполняться ".
Я пытался его отладить. Каждый раз, когда происходит сбой и появляется следующая трассировка стека:
в System.Collections.Generic.List 1+Enumerator[T].MoveNextRare () [0x00013] in <58604b4522f748968296166e317b04b4>:0
at System.Collections.Generic.List
1 + Перечислитель [T] .MoveNext () [0x0004a] в <58604b4522f748968296166e317b04b4>: 0
в Xamarin.Forms.Platform.Android.VisualElementTracker.HandleRedrawNeeded (отправитель System.Object, Xamarin.Forms.Internals.EventArg`1 [T] e) [0x00022] в D: \ a \ 1 \ s \ Xamarin.Forms.Platform .Android \ VisualElementTracker.cs: 180
в Xamarin.Forms.VisualElement.BatchCommit () [0x0001c] в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ VisualElement.cs: 581
в Xamarin.Forms.AnimationExtensions.HandleTweenerFinished (System.Object o, System.EventArgs args) [0x000cb] в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ AnimationExtensions.cs: 276
в Xamarin.Forms.Tweener.b__22_0 (шаг System.Int64) [0x00095] в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ Tweener.cs: 103
в Xamarin.Forms.Internals.Ticker.SendSignals (шаг System.Int64) [0x0003c] в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ Internals \ Ticker.cs: 102
в Xamarin.Forms.Internals.Ticker.SendSignals (System.Int32 timestep) [0x00014] в D: \ a \ 1 \ s \ Xamarin.Forms.Core \ Internals \ Ticker.cs: 91
в Xamarin.Forms.Platform.Android.AndroidTicker.OnValOnUpdate (отправитель System.Object, Android.Animation.ValueAnimator + AnimatorUpdateEventArgs e) [0x00000] в D: \ a \ 1 \ s \ Xamarin.Ter.P. CS: 71
в Android.Animation.ValueAnimator + IAnimatorUpdateListenerImplementor.OnAnimationUpdate (Android.Animation.ValueAnimator animation) [0x00017] в <2960acf2eeb24d88b5230e1e8afbdc2e>: 0
на Android.Animation.ValueAnimator + IAnimatorUpdateListenerInvoker.n_OnAnimationUpdate_Landroid_animation_ValueAnimator_ (System.IntPtr JNIEnv, System.IntPtr native__this, System.IntPtr native_animation) [0x00011] в <2960acf2eeb24d88b5230e1e8afbdc2e>: 0
at (динамический метод-обертка) Android.Runtime.DynamicMethodNameCounter.17 (intptr, intptr, intptr)
Инструменты:
- Visual Studio для Mac: 8.0.3 (сборка 14)
- Xamarin Mac Development: 8.0.2
Испытательные устройства:
- Samsung Galaxy S9
- Lenovo Tab 3 7
- One Plus 5T