Large list performance

Hi. I have not tried Fuse yet, but considering it for a project.

One of the most central things in the app will be a “long” list (~750) of very similar looking rows.
Does anyone know how Fuse would perform in situations like this?
Are there any examples of similar type that I could have a look at?

I know both iOS and Android uses several techniques such as recycling of views in order to provide a smooth scrolling experience and reduce memory usage, so I thought maybe Fuse had some dedicated list logic, but couldnt find anything from a brief look at the documentation.

Hi!

Cool that you are considering Fuse.

The <Each> tag in Fuse is what is used to deal with long lists. https://www.fusetools.com/docs/fuse/reactive/each

Usually there is no problem and you don’t have to think about it, but there are a few potential issues:

  1. If you populate the list with very many items up front, it may take long to initialize, causing a transition stall when navigating to the page. You can deal with that by things like the <Deferred> tag.

You can also lazily add items to the backing Observable to only load items as they are actually scrolled to.

A video explaining this can be found here: https://www.youtube.com/watch?v=j82MMNw-6dM
An example is found here: https://www.fusetools.com/examples/endless-scroller

  1. When you’ve dealt sucessfully with the initialization time, you can still run into memory issues when dealing with extremely long lists. For this, the Each tag has the Offset and Limit properties which can be tuned to recycle views. Limit specifies the maximum number of live instances at any given time, and Offset is the offset into the list for where the first item to display is.

I hope this helps. Let us know if you run into issues, we’re here to help!