Xamarin.forms: iOS: تغييرات مجموعة ContextAction تسبب تباطؤًا وتجميدًا نهائيًا

تم إنشاؤها على ١٢ مارس ٢٠١٨  ·  3تعليقات  ·  مصدر: xamarin/Xamarin.Forms

وصف

يتسبب كل تغيير في إجراءات السياق في ListView أو TableView في زيادة تجميد واجهة المستخدم بشكل كبير على نظام iOS.

خطوات التكاثر

  1. قم بإنشاء ViewCell بإجراءات السياق
  2. قم بتغيير إجراءات السياق بشكل متكرر بطريقة ما (عادةً ما تستند إلى حالة ViewCell / ViewModel)

سلوك متوقع

قائمة السياق (اسحب لليسار على iOS ، اضغط على Android ، انقر بزر الماوس الأيمن على UWP ، إلخ) يجب أن تعكس هذا التغيير على الفور مع عدم وجود واجهة مستخدم بطيئة.

السلوك الفعلي

على نظام iOS ، عند كل تغيير ، تصبح واجهة المستخدم أبطأ وأبطأ في الاستجابة حتى تتجمد في النهاية إلى أجل غير مسمى.

معلومات اساسية

  • الإصدار الذي يحتوي على الإصدار: 2.5.0.280555
  • IDE: Visual Studio 2017
  • الأطر المستهدفة للمنصة:

    • iOS: 11.8.0.20

  • الأجهزة: تم اختبارها على iPhone 6 Plus

فيديو

https://github.com/sonic1015/bugRepo/files/1835039/2018-03-12.T16-17-07.zip

رابط الاستنساخ

https://github.com/sonic1015/bugRepo/archive/1.zip

listview performance 4 help wanted high iOS 🍎 bug up-for-grabs

ال 3 كومينتر

أهلا،

أنا أيضًا أواجه هذه المشكلة نفسها ، كنت أتساءل متى ستختار هذا بالفعل

لا يبدو أن هذه المشكلة قد شهدت أي نشاط منذ وقت طويل. نحن نعمل على تحديد أولويات المشكلات وحلها بأسرع ما يمكن. لمساعدتنا في الوصول إلى القائمة ، نقدر الحصول على تحديث منك لإعلامنا إذا كان هذا لا يزال يؤثر عليك في أحدث إصدار من Xamarin. النماذج ، نظرًا لأنه من الممكن أن نكون قد حللنا هذا كجزء من نسخة أخرى ذات صلة أو مكررة قضية. إذا لم نشاهد أي نشاط جديد بشأن هذه المشكلة خلال الثلاثين يومًا القادمة ، فسنقوم بتقييم ما إذا كان يجب إغلاق هذه المشكلة. شكرا لك!

تم تحديث الاستنساخ إلى Xamarin.Forms v4.6.0.867

بعد تغيير عنصر القائمة الأول ، لا توجد رسوم متحركة عند إغلاق القائمة. بعد حوالي 7 تغييرات في عناصر القائمة ، تتعطل مع الاستثناء التالي:

System.NullReferenceException: Object reference not set to an instance of an object
  at Xamarin.Forms.Platform.iOS.ContextActionsCell.OnCellPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x00012] in D:\a\1\s\Xamarin.Forms.Platform.iOS\ContextActionCell.cs:475 
  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:353 
  at Xamarin.Forms.Cell.OnContextActionsChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0002d] in D:\a\1\s\Xamarin.Forms.Core\Cells\Cell.cs:227 
  at (wrapper delegate-invoke) <Module>.invoke_void_object_NotifyCollectionChangedEventArgs(object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)
  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00018] in <866ebc6712e548788bfc4c085907ae80>:0 
  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction action, System.Object item, System.Int32 index) [0x00009] in <866ebc6712e548788bfc4c085907ae80>:0 
  at System.Collections.ObjectModel.ObservableCollection`1[T].RemoveItem (System.Int32 index) [0x00021] in <866ebc6712e548788bfc4c085907ae80>:0 
  at System.Collections.ObjectModel.Collection`1[T].Remove (T item) [0x00027] in <624bcc4ce53347508a7b8fa821d78da4>:0 
  at bugRepo.CustomViewCell+<>c__DisplayClass0_0.<.ctor>b__1 (System.Object sender, System.EventArgs args) [0x00002] in C:\Users\eballantyne\Downloads\bugRepo-1\bugRepo-1\bugRepo\bugRepo\CustomViewCell.xaml.cs:40 

تم الاختبار على iPhone 8 ، iOS 13.4.1. لم يتم اختباره على Android أو UWP.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات