_تم نقل هذه المشكلة من تذكرة على مجتمع المطورين ._
بعد الترقية إلى Xamarin Forms 4.6.0726 ، بدأت في الحصول على تعطل متكرر متقطع على Android. عند التحقيق ، وجد أن هذا يأتي من برنامج LabelRenderer الخاص بـ Xamarin
05-17 07: 27: 06.656 شرق / أحادي (5133):
05-17 07: 27: 06.656 E / أحادية (5133): استثناء غير معالج:
05-17 07: 27: 06.656 E / mono (5133): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
05-17 07: 27: 06.656 E / mono (5133): اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
05-17 07: 27: 06.656 E / أحادية (5133): في (طريقة الغلاف الديناميكي) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.656 E / أحادي (5133): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.656 E / mono-rt (5133): [خطأ] FATAL UNANDLED EXCEPTION: System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
05-17 07: 27: 06.656 E / mono-rt (5133): اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
05-17 07: 27: 06.656 E / mono-rt (5133): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.656 E / mono-rt (5133): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.698 D / (5133): HostConnection :: get () إنشاء اتصال مضيف جديد 0xbd1b1240 ، Tid 5133
لست متأكدا من أين يأتي. لدي ListView كعرض رئيسي وأتساءل عن خطأ ما في الإصدار الأحدث من ListView مما تسبب في حدوث تسرب وتعطل.
ليس لدي عارض تسمية مخصص لذلك يجب أن يأتي من عارض النظام الأساسي Xamarin
الرجاء الاقتراح.
لقد وجهنا ملاحظاتك إلى الفريق الهندسي المناسب لمزيد من التقييم. سيقوم الفريق بمراجعة التعليقات وإعلامك بالخطوات التالية.
(لا توجد حلول)
ذات الصلة # 8262
الحل البديل- https://github.com/xamarin/Xamarin.Forms/issues/8262#issuecomment -550022425
يعد إنشاء عارض مخصص لـ ListView أو خلاياه أحد الأساليب لتقليل تأثير حسابات التخطيط على أداء التمرير.
أفضل ممارسات ListView- https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/listview/performance
حاول تنفيذ INotifyPropertyChanged (System.ComponentModel) للفئة التي تحتوي على ListView.
قم بتعيين المعالج لـ public event PropertyChangedEventHandler PropertyChanged
النحو التالي للموصل المعين للخاصية المعدلة-
var args = new PropertyChangedEventArgs(nameOf(typeOf(string)));
PropertyChanged?.Invoke(this, args);
ذات الصلة # 10159
هل يمكنك من فضلك إرفاق مشروع صغير يوضح هذه المشكلة؟ شكر!
أواجه أيضًا نفس المشكلة التي تعطل تطبيقي
تتبع المكدس:
Cannot access a disposed object. Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
Java.Interop.JniPeerMembers.AssertSelf(Java.Interop.IJavaPeerable self) in <26521a5118b44c858c385715922b9d5d>
Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod(System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) in <26521a5118b44c858c385715922b9d5d>
Android.Views.View.get_Context() in <4ccdb3137d974856b786e1aeebbfbab6>
Xamarin.Forms.Platform.Android.Platform.GetNativeSize(Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341
Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize(Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:930
Xamarin.Forms.VisualElement.OnSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:800
Xamarin.Forms.VisualElement.OnMeasure(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
Xamarin.Forms.VisualElement.GetSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
Xamarin.Forms.VisualElement.Measure(System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
Xamarin.Forms.StackLayout.CalculateNaiveLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163
Xamarin.Forms.StackLayout.CalculateLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
Xamarin.Forms.StackLayout.OnSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80
Xamarin.Forms.VisualElement.OnMeasure(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
Xamarin.Forms.VisualElement.GetSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
Xamarin.Forms.Layout.GetSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132
Xamarin.Forms.VisualElement.Measure(System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
Xamarin.Forms.StackLayout.CalculateNaiveLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:198
Xamarin.Forms.StackLayout.CalculateLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
Xamarin.Forms.StackLayout.LayoutChildren(System.Double x, System.Double y, System.Double width, System.Double height) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:58
Xamarin.Forms.Layout.UpdateChildrenLayout() in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:266
Xamarin.Forms.Layout.OnSizeAllocated(System.Double width, System.Double height) in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:224
Xamarin.Forms.VisualElement.SizeAllocated(System.Double width, System.Double height) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:805
Xamarin.Forms.Layout.ResolveLayoutChanges() in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:392
Java.Lang.Thread+RunnableImplementor.Run() in <4ccdb3137d974856b786e1aeebbfbab6>
Java.Lang.IRunnableInvoker.n_Run(System.IntPtr jnienv, System.IntPtr native__this) in <4ccdb3137d974856b786e1aeebbfbab6>
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.48(intptr,intptr)
أدى الرجوع إلى إصدار أقدم من XF إلى الإصدار 4.4.0.991864 إلى حل المشكلة في تطبيق الإنتاج لدينا. الاعتمادات: https://github.com/xamarin/Xamarin.Forms/issues/10159#issuecomment -633838442
هل يمكنك من فضلك إرفاق مشروع صغير يوضح هذه المشكلة؟ شكر!
samhouts لا يمكنني نشر الكود المصدري ، إنه تطبيق تجاري ... ويمكنه العمل فقط مع البيانات.
هل يمكنك من فضلك إرفاق مشروع صغير يوضح هذه المشكلة؟ شكر!
samhouts للأسف لا يمكنني نشر الكود لأسباب تعاقدية
مرحبًا ، ما عليك سوى التحقق مما إذا كان هناك أي جداول زمنية بحلول موعد توفر الإصلاح. لدينا إصدار رئيسي يتم طرحه وهو الآن معلق بسبب هذه المشكلة بعد أن قمنا بترقية إطار عمل Xamarin الخاص بنا. في هذه المرحلة لا يمكننا العودة إلى الإطار القديم أيضًا.
الرجاء المساعدة.
من الصعب جدًا حل هذه المشكلات دون إعادة إنتاجها. قد تكون قادرًا على حلها من خلال تمكين أجهزة العرض القديمة . إذا كنت قادرًا على نشر مشروع إعادة إنتاج ، فقد نتمكن من حل المشكلة بالكامل. شكرا لك!
من الصعب جدًا حل هذه المشكلات دون إعادة إنتاجها. قد تكون قادرًا على حلها من خلال تمكين أجهزة العرض القديمة . إذا كنت قادرًا على نشر مشروع إعادة إنتاج ، فقد نتمكن من حل المشكلة بالكامل. شكرا لك!
أفهم ، أحاول التكاثر في مشروع اختباري.
من الصعب جدًا حل هذه المشكلات دون إعادة إنتاجها. قد تكون قادرًا على حلها من خلال تمكين أجهزة العرض القديمة. إذا كنت قادرًا على نشر مشروع إعادة إنتاج ، فقد نتمكن من حل المشكلة بالكامل. شكرا لك!
samhouts ، لقد حاولت تمكين
حاولت تنظيف الحل ، إغلاق / فتح VS ولكن الخطأ لا يزال قائما.
الرجاء الاقتراح. أي مساعدة في هذا الصدد ستكون مفيدة للغاية!
مرحبا،
هل تحاول المتابعة لمعرفة ما إذا كانت هناك أية تحديثات حتى الآن أو متى تتوقع تحديثات على هذا؟
نواجه أيضًا المشكلة ، فمن الصعب حقًا إعادة إنتاج التطبيق ، ويتعطل التطبيق عشوائيًا ،
بدأت المشكلة في الحدوث بعد الترقية من نموذج Xamarin 4.4 إلى 4.6.0726.
أحتاج إلى نقل هذا إلى المورد المحظور حتى نتمكن من التكاثر.
samhouts يبدو هذا مشابهًا جدًا لـ # 10159 وهي مشكلة خطيرة للغاية. هل يمكنك إلقاء نظرة عليه من فضلك؟ هناك تعليق يقدم عينة repro.
لقد قمت بإنشاء مستودع نموذج حيث يمكنك رؤية هذا الاستثناء: https://github.com/nacompllo/CannotDisposeLabelRenderer
لقد نشرت أيضًا مقطع فيديو يوضح كيفية إعادة إنتاج الخطأ:
https://www.youtube.com/watch؟v=yDhlI4BG8D8&feature=youtu.be
عندما أقوم بإضافة ارتباط إلى خاصية FontSize الخاصة بالملصق داخل CollectionView وأجري تناوبًا مع الجهاز (في كل تغيير دوران ، أقوم بتحديث FontSize لملصقات CollectionView).
System.ObjectDisposedException: 'لا يمكن الوصول إلى كائن تم التخلص منه.
اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer". "
أضف عناصر إلى مصدر CollectionView أثناء إجراء عمليات التناوب مع الجهاز.
samhouts بعد إجراء بعض الاختبارات على جهازي باستخدام مستودع Xamarin.Forms ، اتبعت تتبع الخطأ ويحدث بالضبط في هذا السطر من فئة Platform.cs: https://github.com/xamarin/Xamarin.Forms /blob/29b92aa1fc2b9d834bb3b95cc224e07d0cc3e9b4/Xamarin.Forms.Platform.Android/Platform.cs#L1341
لقد قمت بلف الطريقة في محاولة للحصول على StackTrace وهذه هي النتيجة:
في Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] في
في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue * parameters) [0x00000] في
في Android.Views.View.get_Context () [0x00000] في /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Android عدد المشاهدات: 5598
في Xamarin.Forms.Platform.Android.Platform.GetNativeSize (عرض Xamarin.Forms.VisualElement ، System.Double widthConstraint ، System.Double heightConstraint) [0x0001c] في C: Users \ SourceReposXamarin.FormsXamarin.Forms.Platform.Android. 1343
أي شخص لديه الحل لهذا ؟؟
أواجه نفس الخطأ في مشروعي. لدي إصدار Xamarin.Forms 4.6.0.726.
تتبع المكدس:
at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <dac4c5a4b77f4e61a5e6d9d3050dfb9f>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <dac4c5a4b77f4e61a5e6d9d3050dfb9f>:0
at Android.Views.View.get_Context () [0x00000] in /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Android.Views.View.cs:5598
at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341
at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:930
at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00025] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:800
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
at Xamarin.Forms.Grid.CalculateAutoCells (System.Double width, System.Double height) [0x000e5] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:133
at Xamarin.Forms.Grid.MeasureGrid (System.Double width, System.Double height, System.Boolean requestSize) [0x0000c] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:485
at Xamarin.Forms.Grid.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0002a] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:60
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
at Xamarin.Forms.TemplatedView.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0003c] in D:\a\1\s\Xamarin.Forms.Core\TemplatedView.cs:43
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
at Xamarin.Forms.StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x0004e] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:58
at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:266
at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x0000f] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:224
at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:805
at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:392
at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Java.Lang.IRunnable.cs:81
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.1(intptr,intptr)
تظهر نافذة إخراج التطبيق هذه المخرجات:
[أحادي] استثناء لم تتم معالجته:
[أحادي] System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
[mono] اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
[أحادي] في (طريقة الغلاف الديناميكي) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)
[mono] في (برنامج تضمين أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)
[mono-rt] [خطأ] FATAL UNANDLED EXCEPTION: System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
[mono-rt] اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
[mono-rt] في (طريقة التحويل الديناميكية) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)
يمكنني إعادة إنتاج هذا في الريبو الخاص بنا ، لقد جربت شيئًا مثل:
if (visualElementRenderer is IDisposedState disposableRenderer && disposableRenderer.IsDisposed)
return new SizeRequest();
لكن هذا لا يعمل نفس المشكلة.
أحصل على شيء مشابه في 4.7.0.1179 عند الانتقال للخلف من صفحة تحتوي على CollectionView إلى صفحة أخرى تحتوي على CollectionView:
LayoutPresenter.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
System.ObjectDisposedException: Cannot access a disposed object. Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self)
JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)
View.get_Context ()
Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint)
Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
LayoutPresenter.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
TemplatedView.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
Grid.MeasuredStarredColumns (System.Double widthConstraint, System.Double heightConstraint)
Grid.MeasureAndContractStarredColumns (System.Double width, System.Double height, System.Double totalStarsWidth)
Grid.MeasureGrid (System.Double width, System.Double height, System.Boolean requestSize)
Grid.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint)
StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders)
StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height)
Layout.UpdateChildrenLayout ()
Layout.OnSizeAllocated (System.Double width, System.Double height)
VisualElement.SizeAllocated (System.Double width, System.Double height)
Layout.ResolveLayoutChanges ()
Thread+RunnableImplementor.Run ()
IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this)
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.59(intptr,intptr)
فقط بعض النتائج حول هذا samhouts :
لقد رأينا أيضًا هذا السلوك باستخدام CollectionView. بعد قضاء بعض الوقت في ذلك ، يبدو أنه قد يكون بسبب الأحداث التالية.
ملاحظة: هذه نظرية.
لقد عملت حول هذا من خلال تجاوز ItemsViewAdapter.OnViewRecycled والعودة إلى TemplatedItemViewHolder. ثم أضفت رمزًا لإزالة TemplatedItemViewHolder.View من ItemsView في OnBindViewHolder ، قبل الاتصال بالقاعدة.
حتى الآن لم يتمكن أي ممن حاولوا إعادة إظهار المشكلة بعد الآن
joshuangfraedom ، هل أنت قادر على مشاركة نموذج الكود الخاص بك لتغيير المحول
شيء من هذا القبيل DuncWatts
...
namespace and renderer export
...
class MyCollectionViewRenderer : CollectionViewRenderer
{
protected override GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource> CreateAdapter()
{
return new MyCollectionViewAdapter(ItemsView);
}
private class MyCollectionViewAdapter : ExtendedCollectionViewAdapter
{
... base constructor call
/// <inheritdoc />
public override void OnViewRecycled(JObject holder)
{
if (holder is TemplatedItemViewHolder)
{
return;
}
base.OnViewRecycled(holder);
}
/// <inheritdoc />
public override void OnBindViewHolder(ViewHolder holder, int position)
{
if (holder is TemplatedItemViewHolder templatedItemViewHolder)
{
ItemsView.RemoveLogicalChild(templatedItemViewHolder.View);
}
base.OnBindViewHolder(holder, position);
}
}
}
يبدو أن قراءة SelectableItemsViewAdapter
ستؤدي إلى تسرب الذاكرة. نحتاج حقًا إلى حل هذا على مستوى النماذج للوصول إلى حل مناسب (يتم استيعاب كل شيء في تلك الفئة).
هذا أكثر قوة وأعتقد أنه يتعامل مع جميع الأشياء القابلة للتحديد وفقًا لـ
ولكن يبدو أن الاحتفاظ بالمرجع في ItemsView يمنع تنظيفه جيدًا بما يكفي.
public class MyCollectionViewRenderer : ExtendedCollectionViewRenderer
{
private static readonly FieldInfo CurrentViewHoldersField;
private static readonly Action<SelectableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>, object, int> ViewHolderClicked;
private static readonly Func<SelectableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>, int, bool> PositionIsSelected;
static MyCollectionViewRenderer()
{
CurrentViewHoldersField = // SelectableItemsViewAdapter._currentViewHolders via reflection
ViewHolderClicked = // Gets SelectableItemsViewAdapter.SelectableClicked via reflection as a delegate
PositionIsSelected = // Gets SelectableItemsViewAdapter.PositionIsSelected via reflection as a delegate
}
public MyCollectionViewRenderer(Context context) : base(context)
{
}
protected override GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource> CreateAdapter()
{
return new MyCollectionViewAdapter(
groupableItemsView: ItemsView,
tapColour: GetTapColour(),
allowItemSelection: Element.SelectionMode != SelectionMode.None,
viewAppearing: Element.ViewAppearing);
}
private class MyCollectionViewAdapter : GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>
{
protected internal MyCollectionViewAdapter(GroupableItemsView groupableItemsView, Func<View, Context, ItemContentView> createView = null)
: base(groupableItemsView, createView)
{
}
public override void OnViewRecycled(Java.Lang.Object holder)
{
// Prevent cleanup of the TemplatedItemViewHolder.
// This cleanup looks to be the cause of the problem,
// as it drops references to it's Xamarin Forms view.
if (holder is TemplatedItemViewHolder templatedItemViewHolder)
{
// Allows selection to be cleared in SelectableItemsViewAdapter.
var currentViewHolders = (List<SelectableViewHolder>)CurrentViewHoldersField.GetValue(this);
currentViewHolders.Remove(templatedItemViewHolder);
return;
}
base.OnViewRecycled(holder);
}
public override void OnBindViewHolder(ViewHolder holder, int position)
{
// If TemplatedItemViewHolder, do the stuff we want to do, plus the stuff forms was doing.
// Except for SelectableItemAdapter. We don't want their events.
// Thank you Xamarin team for using "Bind" on TemplatedItemViewHolder.
if (holder is TemplatedItemViewHolder templatedItemViewHolder)
{
// Remove the child from ItemsView, as TemplatedItemViewHolder.Bind(ItemsView) will
// Re-add it later on.
ItemsView.RemoveLogicalChild(templatedItemViewHolder.View);
if (ItemsSource.IsHeader(position))
{
templatedItemViewHolder.Bind(ItemsView.Header, ItemsView);
}
else if (ItemsSource.IsFooter(position))
{
templatedItemViewHolder.Bind(ItemsView.Footer, ItemsView);
}
else
{
// Also accounts for group header/group footer
templatedItemViewHolder.Bind(ItemsSource.GetItem(position), ItemsView);
}
// Allows selection to be cleared in SelectableItemsViewAdapter.
var currentViewHolders = (List<SelectableViewHolder>)CurrentViewHoldersField.GetValue(this);
currentViewHolders.Add(templatedItemViewHolder);
// Make sure that if this item is one of the selected items, it's marked as selected
templatedItemViewHolder.IsSelected = PositionIsSelected(this, position);
return;
}
base.OnBindViewHolder(holder, position);
}
public override void OnViewAttachedToWindow(JObject holder)
{
base.OnViewAttachedToWindow(holder);
if (holder is TemplatedItemViewHolder templatedItemViewHolder)
{
// Watch for clicks so the user can select the item held by this ViewHolder
// This replaces the click events triggered in SelectableItemViewHolder
// but still invokes SelectableItemsViewAdapter.SelectableClicked.
// I find these safer to use than click events when tied to Java objects.
templatedItemViewHolder.ItemView.SetOnClickListener(
ClickListener.With(
v => ViewHolderClicked(this, v, templatedItemViewHolder.AdapterPosition)));
}
}
public override void OnViewDetachedFromWindow(JObject holder)
{
base.OnViewDetachedFromWindow(holder);
if (holder is TemplatedItemViewHolder templatedItemViewHolder)
{
templatedItemViewHolder.ItemView.SetOnClickListener(null);
}
}
}
}
قد يكون الحل الأفضل لذلك هو مسح العرض على TemplatedItemViewHolder.Recycle ثم تنفيذ كل شيء في فرع templateChanging مرة أخرى. يبدو هذا وكأنه نهج أكثر أمانًا ، ولكنه سيتطلب إعادة تنفيذ مجموعة من الأشياء إذا لم يتم إجراء التغيير في قاعدة بيانات XF. لا أعتقد أن الثقة في الحفاظ على طريقة العرض وأجهزة العرض الخاصة بها بين إعادة التدوير والربط ستكون موثوقة.
لا يمكنني إعادة استنساخ هذا ، ولكن السبب في تطبيقنا كان إطلاقًا ملزمًا لواجهة المستخدم التي كانت في طور التخلص (تمت إزالتها من الشجرة المرئية).
لحسن الحظ بالنسبة لنا ، يحتاج وضع الربط فقط إلى أن يتم تعيينه على OneTime لإصلاح المشكلة.
أواجه نفس مشكلة التعطل مع Xamarin.Forms 4.6.0.847.
أحصل على تتبع مكدس التعطل هذا عندما أعبث عدة مرات باستخدام
@ Edgaras91 كانت تجربتي تستخدم أيضًا syncfusion SfComboBox. كان أحد العناصر الموجودة في ItemTemplate هو ربط IsVisible بخاصية في نموذج العرض (IsSelected).
عندما تم تحديد اختيار جديد - والذي يغلق القائمة المنسدلة لمربع التحرير والسرد ، كانت إعادة تعيين خصائص IsSelected لنماذج ItemSource المرتبطة تسبب الانهيار.
أدى تغيير وضع الربط إلى OneTime إلى حل المشكلة.
@ Edgaras91 كانت تجربتي تستخدم أيضًا syncfusion SfComboBox. كان أحد العناصر الموجودة في ItemTemplate هو ربط IsVisible بخاصية في نموذج العرض (IsSelected).
عندما تم تحديد اختيار جديد - والذي يغلق القائمة المنسدلة لمربع التحرير والسرد ، كانت إعادة تعيين خصائص IsSelected لنماذج ItemSource المرتبطة تسبب الانهيار.
أدى تغيير وضع الربط إلى OneTime إلى حل المشكلة.
شكرًا لك InquisitorJax على ذلك ، ومع ذلك ، فإن تغيير نموذج ربط DataSource الخاص بي إلى OneTime ، لم يحل مشكلة التعطل.
بعض المعلومات الإضافية حول كيفية إعادة إنتاج هذا التعطل الذي قد يساعد الآخرين:
في عرض مع SfComboBox والبيانات الموجودة في DataSource ، كل شيء مستقر.
ثم عندما أفتح "نافذة منبثقة" باستخدام Rg.Plugins.Popup ، يعيد استخدام نفس ViewModel مثل BindingContext ويتركه مفتوحًا لمدة 3 ثوانٍ ويغلق هذه النافذة المنبثقة ، ثم تغيير القيمة في SfComboBox الأصلي مرتين بالاختيار من القائمة المنسدلة ، سوف يرمي استثناء LabelRenderer.
السبب في أنني لا أنشر على Syncfusion حتى الآن هو أن الاستثناء هو نماذج Xamarin الخالصة. ما زلت لم أجرب حل التراجع عن إصدار Xamarin المقترح.
أستطيع أن أؤكد أن XF 4.4.0.991864 بالنسبة لي لم يصلحه ، ولا يزال يحصل على نفس الاستثناء.
أشكال Xamarin 4.8.0.1364
JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self)
JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)
View.get_Context ()
Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint)
Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint)
StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders)
StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint)
StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders)
StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint)
StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders)
StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
TemplatedView.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint)
VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags)
Grid.CalculateAutoCells (System.Double width, System.Double height)
Grid.MeasureGrid (System.Double width, System.Double height, System.Boolean requestSize)
Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height)
Layout.UpdateChildrenLayout ()
Layout.OnSizeAllocated (System.Double width, System.Double height)
VisualElement.SizeAllocated (System.Double width, System.Double height)
Layout.ResolveLayoutChanges ()
Thread+RunnableImplementor.Run ()
IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this)
يمكن تكرار هذه المشكلة في طرق عرض المجموعة باستخدام قوالب العنصر. لقد أصبح هذا خطأ حرجًا بالنسبة لنا.
لدينا محدد قالب عرض المجموعة وتتكون القوالب من مكونات قابلة للتوسيع وتعطل التطبيق مع استثناء أدناه عند النقر على أيقونة قابلة للتوسيع.
ملاحظة: يتم تحقيق التوسيع ببساطة عن طريق تعيين خطأ مرئي وتعيين حجم صف الشبكة الرئيسية على تلقائي.
لا يقتصر الأمر على LabelRenderer فحسب ، بل إنه يطلق استثناء ImageRenderer أيضًا ، عندما لا توجد تسميات في العرض القابل للتوسيع.
"09-10 20: 20: 28.104 E / AppCenterCrashes (23119): استثناء غير معالج من المصدر = AndroidEnvironment
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.ImageRenderer".
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] في
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.Jni000 *Argument) [Value.
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Android.Views.View.get_Context () [0x0000a] في <55654ebe9f2a48e6bade2862bb243f94>: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view، System.Double widthConstraint، System.Double heightConstraint) [0x00019] في D : a1sXamarin.Forms.Platform.AndroidPlatform.cs: 1341
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Forms + AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view، System.Double widthConstraint، System.Double heightConstraint) [0x00000] في Darin: a1sXam نماذج النظام الأساسي AndroidForms.cs: 921
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint، System.Double heightConstraint) [0x00025] في D: a1sXamarin.Forms.CoreVisualElement.cs: 854
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Image.OnSizeRequest (System.Double widthConstraint، System.Double heightConstraint) [0x00000] في D: a1sXamarin.Forms.CoreImage.cs: 74
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint، System.Double heightConstraint) [0x00000] في D: a1sXamarin.Forms.CoreVisualElement.cs: 837
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint، System.Double heightConstraint) [0x00053] في D: a1sXamarin.Forms.CoreVisualElement.cs: 713
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint، System.Double heightConstraint، Xamarin.Forms.MeasureFlags flags) [0x00054] في D: a1sXamarin.Forms .CoreVisualElement.cs: 771
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Grid.CalculateAutoCells (System.Double width، System.Double height) [0x002a3] في D: a1sXamarin.Forms.CoreGridCalc.cs: 166
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Grid.MeasureGrid (System.Double width، System.Double height، System.Boolean requestSize) [0x0000c] في D: a1sXamarin.Forms.CoreGridCalc .cs: 576
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Grid.LayoutChildren (System.Double x، System.Double y، System.Double width، System.Double height) [0x0000e] في D: a1sXamarin.Forms.CoreGridCalc.cs: 18
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] في D: a1sXamarin.Forms.CoreLayout.cs: 266
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Layout.OnSizeAllocated (System.Double width، System.Double height) [0x0000f] في D: a1sXamarin.Forms.CoreLayout.cs: 224
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.SizeAllocated (System.Double width، System.Double height) [0x00000] في D: a1sXamarin.Forms.CoreVisualElement.cs: 859
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] في D: a1sXamarin.Forms.CoreLayout.cs: 392
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Lang.Thread + RunnableImplementor.Run () [0x00008] في <55654ebe9f2a48e6bade2862bb243f94>: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv، System.IntPtr native__this) [0x00008] في <55654ebe9f2a48e6bade2862bb243f94>: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في (طريقة التحويل الديناميكية) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)
System.ObjectDisposedException: 'لا يمكن الوصول إلى كائن تم التخلص منه.
اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.ImageRenderer".
إنه لأمر مثير للسخرية تمامًا كيف تتوقع Microsoft استخدام هذا النظام الأساسي لإنشاء أي تطبيق Enterprise به عيب أساسي لا يزال مفتوحًا بعد العديد من الشكاوى على مدار هذه الفترة الطويلة!
لم نتمكن من إصدار تحديث لإصدار Android الخاص بنا من التطبيق خلال الأشهر الأربعة الماضية وكل ما حصلنا عليه من هذا الموضوع هو أنه لا يمكنهم إعادة إنتاج هذا ، في حين أن بقية العالم يستطيعون ذلك بسهولة !!!
يجب أن تتوقف Microsoft عن فعل أي شيء وكل شيء قبل إصلاح هذا الخطأ. إن إصدار أي إصدار أحدث من Xamarin لا طائل من ورائه !!!
الحل البديل الخاص بي لهذا الاستثناء (اختبار إصدارات XF من 4.5.X إلى 4.8.X قبل التأكد من أن تغيير الإصدار لا يعمل):
POV: CarouselView (كمشروط) يحتفظ بملصقات بأرقام (اختيار كمية المنتج في سلة التسوق). يظهر عنصر التحكم هذا فقط إذا كان المستخدم يريد تغيير الكمية. تم إطلاق هذا الاستثناء عندما كان العرض الدائري مخفيًا ، ولكنه لا يزال "متصلًا" بقائمة الربط <> و SelectedItem.
الحل: ملء عنصر التحكم هذا في xaml.cs مباشرة بعد إطلاق الحدث Clicked. بهذه الطريقة ، لا يتم ربط عنصر التحكم هذا بفئة ViewModel / PageModel.
هذا الحل هو محاكاة الربط:
ج #
// _counts هو CarouselView
QuantityChangeTapped باطل خاص (مرسل الكائن ، System.EventArgs e) // حدث الزر
{
عنصر CartItem = (المرسل كعرض) .BindingContext as CartItem ؛ // منتج في سلة التسوق ستتغير هذه الكمية
_viewModel.Item = عنصر ؛ // ضبط الكمية المحفوظة بالفعل
_counts.ItemsSource = Enumerable.Range (1، item.QuantityRemaining) .ToList () ؛
_counts.Position = العنصر. الكمية - 1 ؛ // تمرير دائري للكمية المحفوظة بالفعل
ShowSlider () ، // عرض دائري
}
باطل خاص CountApprouveClicked (مرسل الكائن ، System.EventArgs e) // حدث الزر المسمى "حفظ الكمية المحددة"
{
CloseSlider () ،
_viewModel.SelectedCount = (int) _counts.CurrentItem ؛
_viewModel.OnCountApprouve.Execute (خالية) ،
}
""
واجهت هذا مرة أخرى - فقط لم يكن هناك أي عناصر تحكم Syncfusion.
ببساطة عنصر في DataTemplate له ارتباط IsVisible بـ ViewModel.
كان الحل هو نفسه بالرغم من ذلك: اضبط BindingMode على OneTime.
هل يمكن لأي شخص يرى هذه المشكلة اختباره مع الكتلة هنا؟
ثم يرجى إعلامي إذا كنت لا تزال ترى الاستثناء؟
هل يمكن لأي شخص يرى هذه المشكلة اختباره مع الكتلة هنا؟
ثم يرجى إعلامي إذا كنت لا تزال ترى الاستثناء؟
لقد جربت للتو الكتلة التي نشرتها واستمر حدوث استثناء ، والفرق الوحيد عن الاستثناء السابق هو أنه بدلاً من الإشارة إلى Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer الآن يشير الاستثناء إلى Xamarin.Forms.Platform.Android النظام الأساسي + العارض الافتراضي
استثناء جديد:
System.ObjectDisposedException: 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.Platform+DefaultRenderer'.'
استثناء قديم:
System.ObjectDisposedException: 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.'
nacompllo هل يمكنك نشر Stacktrace بالكامل؟ أدرك أنه من المحتمل أن يكون السطر الوحيد مختلفًا ولكن سيظل من المفيد الحصول على التتبع الكامل هنا
PureWeen لقد اختبرت nuget ولا يزال يتعطل ولكن المكدس مختلف قليلاً
09-12 22:30:00.522 I/MonoDroid( 5147): UNHANDLED EXCEPTION:
09-12 22:30:00.524 I/MonoDroid( 5147): System.ObjectDisposedException: Cannot access a disposed object.
09-12 22:30:00.524 I/MonoDroid( 5147): Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
09-12 22:30:00.524 I/MonoDroid( 5147): at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-12 22:30:00.524 I/MonoDroid( 5147): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-12 22:30:00.524 I/MonoDroid( 5147): at Android.Views.View.get_Context () [0x0000a] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x0001b] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1345
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0002d] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:814
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:799
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00070] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:689
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00064] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:741
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x0009d] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:133
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00177] in D:\agent\1\s\Xamarin.Forms.Core\GridCalc.cs:49
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00173] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:239
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x00011] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:203
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:817
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0008b] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:374
09-12 22:30:00.524 I/MonoDroid( 5147): at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00016] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1309
09-12 22:30:00.524 I/MonoDroid( 5147): at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-12 22:30:00.524 I/MonoDroid( 5147): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:00.532 E/AppCenterCrashes( 5147): Unhandled Exception from source=AndroidEnvironment
09-12 22:30:00.532 E/AppCenterCrashes( 5147): System.ObjectDisposedException: Cannot access a disposed object.
09-12 22:30:00.532 E/AppCenterCrashes( 5147): Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Android.Views.View.get_Context () [0x0000a] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x0001b] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1345
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0002d] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:814
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:799
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00070] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:689
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00064] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:741
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x0009d] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:133
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00177] in D:\agent\1\s\Xamarin.Forms.Core\GridCalc.cs:49
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00173] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:239
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x00011] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:203
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:817
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0008b] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:374
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00016] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1309
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-12 22:30:00.532 E/AppCenterCrashes( 5147): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:00.539 D/Mono ( 5147): Requesting loading reference 5 (of 6) of /storage/emulated/0/Android/data/com.Tandem.DoKapsyApp/files/.__override__/Microsoft.AppCenter.Crashes.dll
09-12 22:30:00.539 D/Mono ( 5147): Loading reference 5 of /storage/emulated/0/Android/data/com.Tandem.DoKapsyApp/files/.__override__/Microsoft.AppCenter.Crashes.dll asmctx DEFAULT, looking for System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
09-12 22:30:00.539 D/Mono ( 5147): Assembly Ref addref Microsoft.AppCenter.Crashes[0xec37f580] -> System.Core[0xec37e8c0]: 11
09-12 22:30:00.634 D/Mono ( 5147): DllImport searching in: '__Internal' ('(null)').
09-12 22:30:00.634 D/Mono ( 5147): Searching for 'java_interop_jnienv_throw'.
09-12 22:30:00.634 D/Mono ( 5147): Probing 'java_interop_jnienv_throw'.
09-12 22:30:00.634 D/Mono ( 5147): Found as 'java_interop_jnienv_throw'.
**System.ObjectDisposedException:** 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.'
=================================================================
Native Crash Reporting
=================================================================
Got a SEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
No native Android stacktrace (see debuggerd output).
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0xe79167fa):0xe79167ea 00 00 00 c7 47 18 00 00 00 00 74 7a 8b 3a 31 d2 ....G.....tz.:1.
0xe79167fa 8b 4f 04 f7 c1 00 01 00 00 0f 84 28 f9 ff ff a8 .O.........(....
0xe791680a 01 0f 85 c1 00 00 00 8b 57 18 85 d2 0f 84 de fd ........W.......
0xe791681a ff ff 8b b3 04 3b 00 00 3b 93 ac fb ff ff 8b 86 .....;..;.......
=============================================================09-12 22:30:01.742 I/MonoDroid( 5147): UNHANDLED EXCEPTION:
====
Managed Stacktrace:
=================================================================
at <unknown> <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_new_string <0x00012>
at Strings:NewString <0x00077>
at Strings:NewString <0x00147>
at Android.Runtime.JNIEnv:NewString <0x0008f>
at Java.Lang.Error:.ctor <0x000ff>
at Android.Runtime.JavaProxyThrowable:.ctor <0x00067>
at Java.Lang.Throwable:FromException <0x0012f>
at Android.Runtime.AndroidEnvironment:UnhandledException <0x0039b>
at Android.Runtime.DynamicMethodNameCounter:28 <0x00163>
at Android.Runtime.DynamicMethodNameCounter:28 <0x000bf>
at <unknown> <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
at JniInstanceMethods:InvokeNonvirtualVoidMethod <0x00127>
at Android.Views.View:Measure <0x00197>
at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer:OnLayout <0x0037f>
a09-12 22:30:01.743 I/MonoDroid( 5147): System.ObjectDisposedException: Cannot access a disposed object.
t Xamarin.Forms.Platform.Android.FormsViewGroup:n_OnLayout_ZIIII <0x000ca>
at Android.Runtime.DynamicMethodNameCounter:40 <0x00147>
at Android.Runtime.DynamicMethodNameCounter:40 <0x000f3>
at <unknown> <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
at JniInstanceMethods:InvokeVirtualVoidMethod <0x002df>
at Xamarin.Forms.Platform.Android.FormsViewGroup:MeasureAndLayout <0x00397>
at Xamarin.Forms.Platform.Android.VisualElementTracker:UpdateLayout <0x00797>
at Xamarin.Forms.Platform.Android.VisualElementRenderer`1:UpdateLayout <0x000c3>
at Xamarin.Forms.Platform.Android.MasterDetailContainer:OnLayout <0x003c6>
at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailContainer:OnLayout <0x000db>
at Android.Views.ViewGroup:n_OnLayout_ZIIII <0x000aa>
at Android.Runtime.DynamicMethodNameCounter:27 <0x00147>
at Android.Runtime.DynamicMethodNameCounter:27 <0x000f3>
a09-12 22:30:01.743 I/MonoDroid( 5147): Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
t <unknown> <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
at JniInstanceMethods:InvokeVirtualVoidMethod <0x002df>
at AndroidX.DrawerLayout.Widget.DrawerLayout:OnLayout <0x002eb>
at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer:OnLayout <0x00087>
at AndroidX.DrawerLayout.Widget.DrawerLayout:n_OnLayout_ZIIII <0x000aa>
at Android.Runtime.DynamicMethodNameCounter:31 <0x00147>
at Android.Runtime.DynamicMethodNameCounter:31 <0x000f3>
at <unknown> <0xffffffff>
at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
at JniInstanceMethods:InvokeNonvirtualVoidMethod <0x00127>
at Android.Views.ViewGroup:Layout <0x00277>
at Xamarin.Forms.Platform.Android.VisualElementTracker:UpdateLayout <0x0061a>
at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRende09-12 22:30:01.743 I/MonoDroid( 5147): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
rer:Xamarin.Forms.Platform.Android.IVisualElementRenderer.UpdateLayout <0x00067>
at Xamarin.Forms.Platform.Android.AppCompat.Platform:Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout <0x00184>
at Xamarin.Forms.Platform.Android.PlatformRenderer:OnLayout <0x00119>
at Android.Views.ViewGroup:n_OnLayout_ZIIII <0x000aa>
at Android.Runtime.DynamicMethodNameCounter:27 <0x00147>
at Android.Runtime.DynamicMethodNameCounter:27 <0x000f3>
=================================================================09-12 22:30:01.743 I/MonoDroid( 5147): at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:01.743 I/MonoDroid( 5147): at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a(intptr,intptr&,intptr,intptr,intptr,intptr)
09-12 22:30:01.743 I/MonoDroid( 5147): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00079] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-12 22:30:01.743 I/MonoDroid( 5147): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0001f] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-12 22:30:01.743 I/MonoDroid( 5147): at Android.Views.View.Measure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00035] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-12 22:30:01.743 I/MonoDroid( 5147): at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer+Container.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x000d0] in D:\agent\1\s\Xamarin.Forms.Platform.Android\AppCompat\NavigationPageRenderer.cs:1223
09-12 22:30:01.743 I/MonoDroid( 5147): at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-12 22:30:01.743 I/MonoDroid( 5147): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:01.746 F/libc ( 5147): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6f726578 in tid 5147 (ndem.DoKapsyApp), pid 5147 (ndem.DoKapsyApp)
[HotReload] (2020-09-12 22:30:03.9): INFO: (Tandem.DoKapsyApp.Android) Stopped Hot Reload session due to ExplicitlyEnded ...
تضمين التغريدة
أرفق جميع المعلومات التي أحصل عليها من نافذة الإخراج:
09-13 12: 37: 30.755 I / MonoDroid (21323): الاستثناء العشوائي:
09-13 12: 37: 30.758 I / MonoDroid (21323): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
09-13 12: 37: 30.759 I / MonoDroid (21323): اسم الكائن: "Xamarin.Forms.Platform.Android.Platform + DefaultRenderer".
09-13 12: 37: 30.759 I / MonoDroid (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، bool ، int ، int ، int ، int)
09-13 12: 37: 30.759 I / MonoDroid (21323): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، int ، int ، int ، int ، int)
09-13 12: 37: 30.759 I / MonoDroid (21323): في (برنامج التفاف مُدار إلى أصلي) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr، intptr &، intptr، intptr، intptr، intptr)
09-13 12: 37: 30.759 I / MonoDroid (21323): في Java.Interop.JniEnvironment + InstanceMethods.CallNonvirtualVoidMethod (مثال Java.Interop.JniObjectReference ، Java.Interop.JniObject.ethoderence type، Java.Interop.JniObjectReference type، Java.Interop.JniObject .JniArgumentValue * args) [0x00079] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 30.759 I / MonoDroid (21323): في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue000 *] المعلمات [ <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.FormsViewGroup.MeasureAndLayout (System.Int32 p0، System.Int32 p1، System.Int32 p2، System.Int32 p3، System. Int32 p4، System.Int32 p5) [0x00088] في D: agent1sXamarin.Forms.Platform.Android.FormsViewGroupobjDebuggeneratedsrcXamarin.Forms.Platform.Android.FormsViewGroup.cs: 181
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateLayout () [0x0015c] في D: agent1sXamarin.Forms.Platform.AndroidVisualElementTracker.cs: 111
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.VisualElementRenderer`1 [TElement] .UpdateLayout () [0x00014] في D: agent1sXamarin.Forms.Pl.AndroidVisualElementRenderer.cs: 139
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (تم تغيير System.Boolean ، System.Int32 l ، System.Int32 t، System.Int32 r، System.Int32 b) [0x0002f] في D: agent1sXamarin.Forms.Platform.AndroidAppCompatPlatform.cs: 235
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (تم تغيير System.Boolean ، System.Int32 l ، System.Int32 t ، System.Int32 r ، System. Int32 b) [0x0001d] في D: agent1sXamarin.Forms.Platform.AndroidPlatformRenderer.cs: 75
09-13 12: 37: 30.759 I / MonoDroid (21323): في Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv ، System.IntPtr original__this ، System.Boolean تغيير ، System.Int32 l ، System.Int32 t ، System .Int32 r ، System.Int32 b) [0x00008] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 30.759 I / MonoDroid (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، bool ، int ، int ، int ، int)
System.ObjectDisposedException: 'لا يمكن الوصول إلى كائن تم التخلص منه.
اسم الكائن: "Xamarin.Forms.Platform.Android.Platform + DefaultRenderer". "
09-13 12:37: 33.822 شرق / أحادي (21323):
09-13 12: 37: 33.822 E / mono (21323): استثناء غير معالج:
09-13 12: 37: 33.822 E / mono (21323): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
09-13 12: 37: 33.822 E / mono (21323): اسم الكائن: "Xamarin.Forms.Platform.Android.Platform + DefaultRenderer".
09-13 12: 37: 33.822 E / mono (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، bool ، int ، int ، int ، int)
09-13 12: 37: 33.822 E / mono (21323): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، int ، int ، int ، int ، int)
09-13 12: 37: 33.822 E / mono (21323): في (التفاف مُدار إلى أصلي) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr، intptr &، intptr، intptr، intptr، intptr)
09-13 12: 37: 33.822 E / mono (21323): في Java.Interop.JniEnvironment + InstanceMethods.CallNonvirtualVoidMethod (مثيل Java.Interop.JniObjectReference ، نوع Java.Interop.JniObjectReference ، Java.Interop.JopniMeth.Interop .JniArgumentValue * args) [0x00079] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.822 E / mono (21323): في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue * معلمات) [0x0005] <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.822 E / mono (21323): في Xamarin.Forms.Platform.Android.FormsViewGroup.MeasureAndLayout (System.Int32 p0، System.Int32 p1، System.Int32 p2، System.Int32 p3، System. Int32 p4، System.Int32 p5) [0x00088] في D: agent1sXamarin.Forms.Platform.Android.FormsViewGroupobjDebuggeneratedsrcXamarin.Forms.Platform.Android.FormsViewGroup.cs: 181
09-13 12: 37: 33.822 E / mono (21323): في Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateLayout () [0x0015c] في D: agent1sXamarin.Forms.Platform.AndroidVisualElementTracker.cs: 111
09-13 12: 37: 33.822 E / mono (21323): في Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].UpdateLayout () [0x00014] in D:\agent\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:139
09-13 12:37:33.822 E/mono (21323): at Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x0002f] in D:\agent\1\s\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:235
09-13 12:37:33.822 E/mono (21323): at Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x0001d] in D:\agent\1\s\Xamarin.Forms.Platform.Android\PlatformRenderer.cs:75
09-13 12:37:33.822 E/mono (21323): at Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv, System.IntPtr native__this, System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-13 12:37:33.822 E/mono (21323): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr,bool,int,int,int,int)
09-13 12:37:33.822 E/mono (21323): --- End of stack trace from previous location where exception was thrown ---
09-13 12:37:33.822 E/mono (21323):
09-13 12:37:33.822 E/mono (21323): at Java.Interop.JniEnvironment+Strings.NewString (System.Char* unicodeChars, System.Int32 length) [0x0001e] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-13 12:37:33.822 E/mono (21323): at Java.Interop.JniEnvironment+Strings.NewString (System.String value) [0x00024] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-13 12:37:33.822 E/mono (21323): at Android.Runtime.JNIEnv.NewString (System.String text) [0x00009] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-13 12:37:33.822 E/mono (21323): at Java.Lang.Error..ctor (System.String message) [0x0001f] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-13 12:37:33.822 E/mono (21323): at Android.Runtime.JavaProxyThrowable..ctor (System.Exception innerException) [0x00007] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-13 12:37:33.822 E/mono (21323): at Java.Lang.Throwable.FromException (System.Exception e) [0x0001d] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-13 12:37:33.822 E/mono (21323): at Android.Runtime.AndroidEnvironment.UnhandledException (System.Exception e) [0x00067] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
09-13 12:37:33.822 E/mono (21323): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr,bool,int,int,int,int)
09-13 12:37:33.822 E/mono (21323): at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr,int,int,int,int,int)
09-13 12:37:33.826 E/mono-rt (21323): [ERROR] FATAL UNHANDLED EXCEPTION: System.ObjectDisposedException: Cannot access a disposed object.
09-13 12:37:33.826 E/mono-rt (21323): Object name: 'Xamarin.Forms.Platform.Android.Platform+DefaultRenderer'.
09-13 12:37:33.826 E/mono-rt (21323): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.33(intptr,intptr,bool,int,int,int,int)
09-13 12:37:33.826 E/mono-rt (21323): at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.33(intptr,intptr,int,int,int,int,int)
09-13 12:37:33.826 E/mono-rt (21323): at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a(intptr,intptr&,intptr,intptr,intptr,intptr)
09-13 12:37:33.826 E/mono-rt (21323): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00079] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-13 12:37:33.826 E/mono-rt (21323): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <42748fcc36b74733af2d9940a8f3cc8e>:0
09-13 12:37:33.826 E/mono-rt (21323): at Xamarin.Forms.Platform.Android.FormsViewGroup.MeasureAndLayout (System.Int32 p0, System.Int32 p1, System.Int32 p2, System.Int32 p3, System.Int32 p4, System.Int32 p5) [0x00088] in D:\agent\1\s\Xamarin.Forms.Platform.Android.FormsViewGroup\obj\Debug\generated\src\Xamarin.Forms.Platform.Android.FormsViewGroup.cs:181
09-13 12:37:33.826 E/mono-rt (21323): at Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateLayout () [0x0015c] in D:\agent\1\s\Xamarin.Forms.Platform.Android\VisualElementTracker.cs:111
09-13 12:37:33.826 E/mono-rt (21323): at Xamarin.Forms.Platform.Android.VisualElementRenderer
1 [TElement] .UpdateLayout () [0x00014] في D: agent1sXamarin.Forms.Platform .AndroidVisualElementRenderer.cs: 139
09-13 12: 37: 33.826 E / mono-rt (21323): في Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (System.Boolean تغير ، System.Int32 l ، System.Int32 t ، System.Int32 r ، System.Int32 b) [0x0002f] في D: agent1sXamarin.Forms.Platform.AndroidAppCompatPlatform.cs: 235
09-13 12: 37: 33.826 E / mono-rt (21323): في Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (تم تغيير System.Boolean ، System.Int32 l ، System.Int32 t ، System.Int32 r ، System.Int32 b) [0x0001d] في D: agent1sXamarin.Forms.Platform.AndroidPlatformRenderer.cs: 75
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv ، System.IntPtr native__this ، System.Boolean تغيير ، System.Int32 l ، System.Int32 t ، System.Int32 r، System.Int32 b) [0x00008] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، bool ، int ، int ، int ، int)
09-13 12: 37: 33.826 E / mono-rt (21323): --- نهاية تتبع المكدس من الموقع السابق حيث تم إلقاء الاستثناء -
09-13 12: 37: 33.826 شرقًا / أحاديًا (21323):
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Interop.JniEnvironment + Strings.NewString (System.Char * unicodeChars ، System.Int32 length) [0x0001e] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Interop.JniEnvironment + Strings.NewString (System.String value) [0x00024] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Runtime.JNIEnv.NewString (System.String text) [0x00009] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Lang.Error..ctor (System.String message) [0x0001f] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Runtime.JavaProxyThrowable..ctor (System.Exception innerException) [0x00007] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Lang.Throwable.FromException (System.Exception e) [0x0001d] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Runtime.AndroidEnvironment.UnhandledException (System.Exception e) [0x00067] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): عند (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، bool ، int ، int ، int ، int) إنهاء
09-13 12: 37: 33.826 E / mono-rt (21323): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، int ، int ، int ، int ، int)
09-13 12: 37: 33.865 E / libc ++ abi (21323): إنهاء
09-13 12: 37: 33.866 F / libc (21323): إشارة قاتلة 6 (SIGABRT) ، الكود -1 (SI_QUEUE) في tid 21323 (ame.labelrender) ، pid 21323 (ame.labelrender)
تضمين التغريدة
جرب هذا واعلمني من فضلك!
تضمين التغريدة
جرب هذا واعلمني من فضلك!
تضمين التغريدة
لقد أجريت للتو الاختبار باستخدام nuget الجديد ويبدو أن المشكلة قد تم حلها لم تعد تتكرر ، ويبدو أن هذه الكتلة المعدنية تحل هذه المشكلة. عمل جيد.
PureWeen لقد
PureWeen @ أؤكد أيضًا أنه في الوقت الحالي لا يقوم تطبيقي بإطلاق هذا الاستثناء بعد اختبارات سريعة.
رائع!!
PureWeen ، لم يعد يحدث الاستثناء مع القطع المقدمة. عنوان تفسيري.
هل يمكن لأي شخص أن يشرح كيفية تثبيت هذا "nuget" على نماذج Xamarin؟
@ Edgaras91 نلقي نظرة على هذا
@ Edgaras91 ،
اضغط على الرابط.
على يمين لوحة "nuget" سيكون هناك زر "المزيد" (3 نقاط عمودية) ، من قائمة السياق حدد "تنزيل [...]".
ثم قم بتعيين (كما ذكر Reveon ) المصدر المحلي للكتل المحلية في ملفات النظام (على سبيل المثال "C: reposlocalNugets") وضع محتوى zip من zip الذي تم تنزيله في هذا المجلد (سيكون هناك عدد قليل من ملفات Xamarin .nupkg).
ثم في مدير VS الخاص بك ، افتح NuGet ومن هذا المربع المنسدل
حدد مصدرك المحلي (يطلق علي مصدري "محلي" فقط)
أخيرًا ، ما عليك سوى تثبيت / تحديث Xamarin.Forms للمشروع المحدد كالمعتاد.
شكرا لك Reveon و BartoszKopec . ومع ذلك ، لدي أيضًا عمليات تكامل مستمرة لـ Dev Ops ، سيكون هذا ممتعًا .. آمل أن يتم اعتماد هذا الإصلاح وسيتم طرحه في أسرع وقت ممكن!
@ Edgaras91 أستخدم App Center بصفتي CI ولدي نفس المشكلة - لا يمكنني استخدامه! 😄
يمكن أيضًا تأكيد هذا يبدو أنه يجب حله.
PureWeen هل نعرف ما سيكون أكثر أو أقل من eta للإصدار المقرر هذا؟
مرحبا،
بالنسبة للأشخاص الذين لديهم هذه المشكلة: في حالتي ، كان لدي العديد من الملصقات التي غيرت الرؤية عبر IsVisible
.
لقد غيرتها مقابل BackGroundColor
و TextColor
Color.Transparent
أم لا ، واختفت المشكلة…
أتمنى أن يساعدك هذا ...
هل سيتم تضمين هذا الإصلاح في 4.8 التالية؟ أو 5.0 فقط؟
التالي SR 4.8
نفس الاستثناء في 4.8.0.1451:
{InnerException: null StackTrace: at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <324349c9a2dd47568c91620d2bd3db5a>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <324349c9a2dd47568c91620d2bd3db5a>:0
at Android.Views.View.get_Context () [0x0000a] in <f69f42e19d884caca4279f1717610a26>:0
at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341
at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921
at Xamarin.Forms.VisualElement.OnSizeRequest (Syst
at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <324349c9a2dd47568c91620d2bd3db5a>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <324349c9a2dd47568c91620d2bd3db5a>:0
at Android.Views.View.get_Context () [0x0000a] in <f69f42e19d884caca4279f1717610a26>:0
at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341
at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921
at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00025] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:811
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:796
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:686
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:738
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x00236] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:198
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:796
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:686
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:113
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:738
at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163
at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80
at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:796
at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:686
at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:113
at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:738
at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x0007b] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:133
at Xamarin.Forms.TemplatedView.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\TemplatedView.cs:29
at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:239
at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x0000f] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:203
at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:814
at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:362
at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <f69f42e19d884caca4279f1717610a26>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <f69f42e19d884caca4279f1717610a26>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.36(intptr,intptr)
Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer
Java.Interop
System.ObjectDisposedException
ليس في هذا الإصدار ، سوف تحتاج إلى انتظار نماذج Xamarin 4.8 إصدار الخدمة 3
ليس في هذا الإصدار ، سوف تحتاج إلى انتظار نماذج Xamarin 4.8 إصدار الخدمة 3
joshuangfraedom هل تقصد أن هذه المشكلة قد تم إصلاحها في نماذج Xamarin 4.8 إصدار الخدمة 3؟
متى يتم التخطيط للنشر؟ كم من الوقت تنتظر ... :-)))
لست متأكدًا من آسف ، يبدو أن الإصلاح الخاص بهذا موجود حاليًا في XF 5.0 Prerelease 1 إذا كنت ترغب في إجراء ذلك. samhouts هل يمكننا الحصول على تحديث لإصدار خدمة آخر لـ 4.8؟
اختبرت مشروعًا به نفس الخطأ ، Xamarin 5.0.0.1539-pre2 وما زال قائمًا
System.ObjectDisposedException: Cannot access a dropped object
باستخدام هذا السطر Forms.SetFlags ("UseLegacyRenderers")
في المشروع ، يكون للاستثناء اسم الكائن:
Xamarin.Forms.Platform.Android.AppCompat.FrameRenderer
بدون خط العلم اسم الكائن:
Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer
TsplayerT هل يمكنك نشر تتبع المكدس الكامل؟
ها هو:
| الخيط الرئيسي | التفاصيل |
| ------------------- | ------------------- |
| Java.Interop | JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) |
| Java.Interop | JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue * معلمات) |
| Android.Views | View.set_Enabled (قيمة System.Boolean) |
| Xamarin.Forms.Platform.Android.FastRenderers | VisualElementRenderer.UpdateIsEnabled () |
| Xamarin.Forms.Platform.Android.FastRenderers | VisualElementRenderer.OnElementPropertyChanged (المرسل System.Object ، System.ComponentModel.PropertyChangedEventArgs e) (استدعاء مفوض المجمع
| نماذج Xamarin | BindableObject.OnPropertyChanged (System.String propertyName) |
| نماذج Xamarin | Element.OnPropertyChanged (System.String propertyName) |
| نماذج Xamarin | BindableObject.SetValueActual (خاصية Xamarin.Forms.BindableProperty ، Xamarin.Forms.BindableObject + BindablePropertyContext Context ، System.Object value ، System.Boolean nowApplying ، Xamarin.Forms.Internals.SetValueFlags السمات ، System |.Boolean
| نماذج Xamarin | BindableObject.SetValueCore (خاصية Xamarin.Forms.BindableProperty ، قيمة System.Object ، سمات Xamarin.Forms.Internals.SetValueFlags ، Xamarin.Forms.BindableObject + SetValuePrivateFlags privateAttributes) |
| نماذج Xamarin | BindingExpression.ApplyCore (System.Object sourceObject ، Xamarin.Forms.BindableObject target ، Xamarin.Forms.BindableProperty property ، System.Boolean fromTarget) |
| نماذج Xamarin | BindingExpression.Apply (نظام منطقي من الهدف) |
| نماذج Xamarin | تعبير ملزم + ملزم التعبير جزء.
| Java.Lang | الموضوع + RunnableImplementor.Run () |
| Java.Lang | IRunnableInvoker.n_Run (System.IntPtr jnienv، System.IntPtr native__this) (طريقة الغلاف الديناميكي) Android.Runtime.DynamicMethodNameCounter.24 (intptr، intptr) |
تم إرفاق تفاصيل الخطأ والمعلومات الأخرى. report.txt
يجب إعادة فتح هذا. يمكنني أيضًا إعادة إنتاجه على 5.0.0.1558-pre3.
ضع في اعتبارك أنني حصلت على الحالة التالية - لديّ عنصرين (التسمية متضمنة) داخل إطار. لقد قمت بلف الإطار في صفي - TestFrame. هناك ، لقد تجاوزت OnElementPropertyChanged. يحدث الاستثناء عندما أحصل على حدث تم تغيير الخاصية للخاصية "Y". ضع في اعتبارك أنه في بعض الأحيان ، أحصل على استثناء في LabelRenderer نفسه ، بدلاً من Frame. أفترض أن المشكلة لا تزال قائمة ، فقط في هذه الحالة تظهر عندما يكون لدينا إطار. إليك تتبع المكدس:
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Test.Droid.Renderers.TestFrameRenderer'.
at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <42748fcc36b74733af2d9940a8f3cc8e>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <42748fcc36b74733af2d9940a8f3cc8e>:0
at Android.Views.View.get_Context () [0x0000a] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
at Test.Droid.Renderers.TestFrameRenderer.UpdateFrame (Test.Views.Controls.TestFrame frameElement) [0x00001] in ...Test.Android\Renderers\TestFrameRenderer.cs:50
at Test.Droid.Renderers.TestFrameRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x0001f] in ...\Test.Android\Renderers\TestFrameRenderer.cs:44
at (wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs(object,System.ComponentModel.PropertyChangedEventArgs)
at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:229
at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:362
at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindableObject+BindablePropertyContext context, System.Object value, System.Boolean currentlyApplying, Xamarin.Forms.Internals.SetValueFlags attributes, System.Boolean silent) [0x00114] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:464
at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, Xamarin.Forms.Internals.SetValueFlags attributes, Xamarin.Forms.BindableObject+SetValuePrivateFlags privateAttributes) [0x00173] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:400
at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, System.Boolean fromStyle, System.Boolean checkAccess) [0x00042] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:335
at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindablePropertyKey propertyKey, System.Object value) [0x0000e] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:319
at Xamarin.Forms.VisualElement.set_Y (System.Double value) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:556
at Xamarin.Forms.VisualElement.set_Bounds (Xamarin.Forms.Rectangle value) [0x00050] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:408
at Xamarin.Forms.VisualElement.Layout (Xamarin.Forms.Rectangle bounds) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:779
at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x001da] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:157
at Xamarin.Forms.Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00144] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:49
at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:239
at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x0000f] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:203
at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:869
at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x00069] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:374
at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x0000f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1319
at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.36(intptr,intptr,int,int)
mduchev أدرك أن اسم الاستثناء هو نفسه ولكن هذا النوع من الاستثناء يشبه NullReferenceException. كل واحد هو سبب مختلف. الشخص الذي تواجهه لن يكون مرتبطًا بهذا.
إذا كان بإمكانك إنشاء مشكلة جديدة باستخدام repro ، فسيكون ذلك مفيدًا
mduchev هل ترى
mduchev لقد لاحظت أن الاستثناء الخاص بك قادم من عارض مخصص
إذا كنت تستخدم فقط العارض الخاص بنا ، فهل ترى نفس الاستثناء؟
قد تحتاج إلى التحقق مما إذا كان قد تم التخلص من FrameRenderer وعدم الاتصال بهذا الرمز
at Test.Droid.Renderers.TestFrameRenderer.UpdateFrame (Test.Views.Controls.TestFrame frameElement) [0x00001] in ...Test.Android\Renderers\TestFrameRenderer.cs:50
at Test.Droid.Renderers.TestFrameRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x0001f] in ...\Test.Android\Renderers\TestFrameRenderer.cs:44
PureWeen قد تكون مشكلة أخرى ، لا يمكنني الجزم بذلك. أرى ObjectDisposedException ، وكما قلت ، أحيانًا ، الاستثناء هو ObjectDisposedException لـ FastRenderers.LabelRenderer (لنفس التدفق!).
للأسف ، لا يمكنني تحميل repro. سأحاول إنشاء واحدة واختبارها باستخدام الإطار الذي يغلف الملصق.
لقد جربت للتو 4.8.0.1560 والاستثناء موجود. لقد اختبرت أيضًا وتأكدت من ذلك باستخدام 4.7.0.1351 و 5.0.0.1558-pre3.
mduchev أو هل يعرف أي شخص لماذا سيتم إصدار الإصدار 5 من Xamarin قائلاً إن هذه المشكلة قد تم إصلاحها ولكنها لا تزال تحدث؟ لم أستطع أن أفهم.
حتى عند استخدام هذا السطر Forms.SetFlags (" UseLegacyRenderers ")
في المشروع ، يحدث استثناء مع ObjectName:
Xamarin.Forms.Platform.Android.AppCompat.FrameRenderer
بدون سطر للإشارة ، يكون للاستثناء اسم الكائن هذا:
Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer
TsplayerT أعتقد أن المشكلة التي نراها (استثناء FrameRenderer) هي مشكلة منفصلة. المشكلة الرئيسية - قد تكون المشكلة مع LabelRenderer قد تم إصلاحها بالفعل ، ولكن هناك خطأ مشابه يحدث مع FrameRenderer. لاحظت أيضًا الاستثناء الجديد فقط عندما أستخدم شيئًا داخل الإطار. لسوء الحظ ، لا يمكنني تحديد التخطيط الدقيق والخطوات التي تؤدي إلى تعطل التطبيق. إذا استطعت ، يرجى تقديم مشروع نموذج وفتح مشكلة جديدة لاستثناء الإطار.
ZeProgFactory شكرًا لك على الحل الأمثل لأشخاص مثلي ، الذين لا يستطيعون التحديث إلى أحدث إصدار Xamarin ، بسبب الكثير من المشكلات ، التي لا تزال معلقة لتتم إضافتها إلى سباق معين حتى ...
التعليق الأكثر فائدة
إنه لأمر مثير للسخرية تمامًا كيف تتوقع Microsoft استخدام هذا النظام الأساسي لإنشاء أي تطبيق Enterprise به عيب أساسي لا يزال مفتوحًا بعد العديد من الشكاوى على مدار هذه الفترة الطويلة!
لم نتمكن من إصدار تحديث لإصدار Android الخاص بنا من التطبيق خلال الأشهر الأربعة الماضية وكل ما حصلنا عليه من هذا الموضوع هو أنه لا يمكنهم إعادة إنتاج هذا ، في حين أن بقية العالم يستطيعون ذلك بسهولة !!!
يجب أن تتوقف Microsoft عن فعل أي شيء وكل شيء قبل إصلاح هذا الخطأ. إن إصدار أي إصدار أحدث من Xamarin لا طائل من ورائه !!!