perf(item): apply will-change only when list is active #7656
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Short description of what this resolves:
This fixes layers being made for each list item even when a user is not actually reordering when using reorder. This change means that
will-change
only gets applied when the user is actually reordering the list, and as soon as the user has "dropped" the item the layers get removed. Previous behavior created a layer for every list item even when a user was not reordering the list, causing high memory usage and bad scrolling perf. This has been tested on chrome 52 on desktop (the latest stable), and a Nexus 7 running Android 6.0.1 (completely stock).The video below is of me using a reordered list with this fix with the layer viewer option in chrome dev tools on.
will-change-fix.zip
Ionic Version: 2.x