Open Keflon opened 2 years ago
Addendum:
The CheckBox is rendered incorrectly until the Window is resized horizontally.
If the CheckBox is rendered incorrectly, i.e. the containing Window is not resized horizontally, then dragging the scroll-bar quickly down does not lead to a crash. (Though we still get OutOfMemory rather quickly if we waggle the scroll-bar up and down) Hope that's a useful clue :)
Can be verified that the above issue exist using above repro project on windows.
We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.
Verified this issue with Visual Studio Enterprise 17.7.0 Preview 3.0. Can repro on Windows platform with sample project. https://github.com/Keflon/MauiRecycleBug
I also can reproduce the behavior described here, every time CollectionView, instead of reusing view, creates a new one
This issue is making me problems since 2015. I think it is the WinUI control that is not working as expected. BUT this issue is also on Android (cannot check iOS). Here is also some sample code: https://stackoverflow.com/questions/31817050/listview-caching-in-windows-ui
Description
The WinUI CollectionView does not recycle item-containers and instead creates a new item-container every time some data scrolls into view.
Steps to Reproduce
Minimum repo:
https://github.com/Keflon/MauiRecycleBug
Steps:
Create a CollectionView
Fill it with items
Scroll up and down in the CollectionView
For the sample, watch the Debug output.
Android
A small number of CollectionItem instances are created and these are recycled.
Example Debug output:
Created CollectionItem. InstanceId: 12. There are 12 instances allocated
WinUI
A new CollectionItem is created every time an instance scrolls into view.
Example Debug output:
Created CollectionItem. InstanceId: 133. There are 133 instances allocated
Scrolling quickly to the end and back (e.g. by dragging the scroll-bar) causes a CRASH
Scrolling slowly can eventually instigate an item being garbage-collected
Example Debug output:
Collected CollectionItem. InstanceId: 9. There are 129 instances allocated
Related: The DataTemplate in the sample code has a CheckBox.
OutOfMemoryException
Version with bug
6.0.400 (current)
Last version that worked well
6.0 Release Candidate 3
Affected platforms
Windows
Affected platform versions
Latest
Did you find any workaround?
Note: I can't confirm 100% this worked in the previous release because I don't know how to roll-back, but I'm certain this is a new problem.
Relevant log output
No response