balance-io / balance-wallet

A mobile wallet for dapps & tokens.
https://balance.io
GNU General Public License v3.0
94 stars 38 forks source link

Fix flickering and white spaces on activity list #404

Closed osdnk closed 5 years ago

osdnk commented 5 years ago

I have made small research on this issue and unfortunately it appears to be a quite common problem in RN (see e.g. https://github.com/facebook/react-native/issues/21468 and more related) so I tried different approaches, but I do not have a strong opinion if it is what actually solves the problem, but at least make it much less observable.

Following some guides I see that there's no such a great gain from getItemLayout and it behaves not so good with SectionList since calculating offset was not including height of secions' headers (e.g. it's a reason for this lib https://github.com/jsoendermann/rn-section-list-get-item-layout).

This changes are results of my observations and even if it might not be very professional, maybe it's a good step forward?

Final solution might be to add disableVirtualization prop, which solves all the issues, but I believe we don't need it now since it's a great optimisation cost.

jinchung commented 5 years ago

Followed up with @osdnk and reduced the changes to windowSize for capturing the most gain for removing white sections on fast scroll.