roubachof/Sharpnado.CollectionView

Rising Memory Consumption when using an ObservableRangeCollection with NotifyCollectionChangedAction.Reset

Opened this issue · 1 comments

Platform (please complete the following information):

  • OS: [iOS/Both?]
  • Device: [iPhoneSimulator/iPhoner/...]
  • Sdk vervion: [iOS 15.2]
  • .NET MAUI: [8.0.10-nightly.10215]

Describe the bug
When I use an ObservableRangeCollection with the Sharpnado CollectionView, which has any kind of NotifyCollectionChangedAction.Reset, e.g. in an .AddRange(..., NotifyCollectionChangedAction.Reset), I see rising memory consumption and finally a Crash of my App on my real device.

I am not sure if it is the Sharpnado CollectionView, but I just wanted to mention it in case there is an issue.

I described this issue also on the .NET MAUI Issue page more detailled: Rising Memory Consumption leading to crashing App after a while when Utilizing NotifyCollectionChangedAction.Reset in ObservableRangeCollection

To Reproduce
Steps to reproduce the behavior:

  1. Use .AddRange(..., NotifyCollectionChangedAction.Reset) on an ObservableRangeCollection that is bound to a (Sharpnado) CollectionView and see the memory consumption rising. This can also be observed when the same option is used in a .RemoveRange(.., NotifyCollectionChangedAction.Reset) call a couple of times.
  2. Animation and example project can be found on the corresponding issue: Rising Memory Consumption leading to crashing App after a while when Utilizing NotifyCollectionChangedAction.Reset in ObservableRangeCollection
  3. As I said, I am not sure if the Sharpnado CollectionView is involved in there, but just mentioned it in case

Exceptions (if applicable)
There is no StackTrace available

Screenshots (if applicable)
If applicable, add screenshots to help explain your problem.

As mentioned in MAUI Issue 21015 the root cause seems to be in the SharpnadoCollectionView. Is there a possibility to fix it?