Xamarin.forms: iOS: Perubahan koleksi ContextAction menyebabkan perlambatan dan akhirnya macet

Dibuat pada 12 Mar 2018  ·  3Komentar  ·  Sumber: xamarin/Xamarin.Forms

Deskripsi

Setiap Perubahan pada ContextActions dalam ListView atau TableView menyebabkan pembekuan UI yang meningkat secara eksponensial di iOS.

Langkah-langkah untuk Mereproduksi

  1. Buat ViewCell dengan tindakan konteks
  2. Berulang kali mengubah tindakan konteks dengan cara tertentu (biasanya berdasarkan status ViewCell / ViewModel)

Perilaku yang Diharapkan

Menu Konteks (gesek ke kiri di iOS, tahan di Android, klik kanan pada UWP, dll) harus mencerminkan perubahan ini segera tanpa perlambatan UI.

Perilaku Sebenarnya

Di iOS, pada setiap perubahan, UI menjadi lebih lambat dan lebih lambat untuk merespons hingga akhirnya berhenti tanpa batas.

Informasi dasar

  • Versi dengan masalah: 2.5.0.280555
  • IDE: Visual Studio 2017
  • Kerangka Kerja Target Platform:

    • iOS: 11.8.0.20

  • Perangkat: Diuji pada iPhone 6 Plus

Video

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

Tautan Reproduksi

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

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

Semua 3 komentar

Hai,

Saya juga menghadapi masalah yang sama persis, saya bertanya-tanya kapan Anda benar-benar akan mengambilnya

Masalah ini sepertinya sudah lama tidak ada aktivitasnya. Kami sedang berupaya memprioritaskan masalah dan menyelesaikannya secepat mungkin. Untuk membantu kami mendapatkan daftar tersebut, kami akan menghargai pembaruan dari Anda untuk memberi tahu kami jika ini masih memengaruhi Anda pada versi terbaru Xamarin.Forms, karena mungkin saja kami telah menyelesaikan ini sebagai bagian dari duplikat atau terkait lainnya. isu. Jika kami tidak melihat aktivitas baru tentang masalah ini dalam 30 hari ke depan, kami akan mengevaluasi apakah masalah ini harus ditutup. Terima kasih!

Memperbarui reproduksi ke Xamarin.Forms v4.6.0.867

Setelah item menu pertama berubah, tidak ada animasi pada menu close. Setelah sekitar 7 item menu berubah, itu macet dengan pengecualian berikut:

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 

Diuji pada iPhone 8, iOS 13.4.1. Belum diuji di Android atau UWP.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat