Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Fix FlyoutItem recycling #13681

Merged
merged 3 commits into from
Feb 9, 2021
Merged

Fix FlyoutItem recycling #13681

merged 3 commits into from
Feb 9, 2021

Conversation

PureWeen
Copy link
Contributor

@PureWeen PureWeen commented Feb 6, 2021

Description of Change

Currently on iOS and Android when you scroll the Flyout the Flyout Items will clear and recreate renderers. They will also clear and recreate renderers if you remove items or rearrange. This causes a lot of churn. This PR disables cell recycling on iOS and Android since we're not dealing with massive lists. If users want full virtualization for the FlyoutItems they should use a custom FlyoutContent with a CollectionView. These changes also keep track of FlyoutItems so when the list is modified that cells/renderers are reused instead of recreating everything.

These changes are optimized around a small to medium sized list

Platforms Affected

  • iOS
  • Android

Testing Procedure

  • make sure the store shell flyout scrolls nicely
  • Test a few of the UI tests that involve flyout visibility to make sure items show and vanish

PR Checklist

  • Targets the correct branch
  • Tests are passing (or failures are unrelated)

@PureWeen PureWeen added this to To Fix in 5.0.0 SR 3 via automation Feb 6, 2021
@PureWeen PureWeen moved this from To Fix to PR Needs Review in 5.0.0 SR 3 Feb 6, 2021
@PureWeen
Copy link
Contributor Author

PureWeen commented Feb 8, 2021

Failing Tests not related

@rmarinho
Copy link
Member

rmarinho commented Feb 9, 2021

@PureWeen works great, the first scroll is slow (it was also before), but then after that it butter smooth..

@hartez hartez merged commit 053ede6 into 5.0.0 Feb 9, 2021
5.0.0 SR 3 automation moved this from PR Needs Review to Done Feb 9, 2021
@hartez hartez deleted the fix_flyoutitem_recycling branch February 9, 2021 16:53
@samhouts samhouts added this to the 5.0.0 milestone Feb 12, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

6 participants