This question can be stated in two parts:
Is 5000 items too much for a scroll view to handle? (In the memory waste aspect of it, most of the list will not be visible at a given time)
Is there a recommended way to handle just a partial list and prepend/append more items as the user scrolls up and down? (Preferably in a transparent way, so the user has a smooth scrolling experience)
I tried to do it by adding my own onScrollListener, the problem I found is that as if I change the scroll view contents I need to scroll it to mantain the visible list on the same item position.
Why? Because if the current y scroll position is 445 on item number 19, and I add one item on the top, item 19 will now be in y scroll position 478.
So I should scroll to position 478 to keep the same view for the user. And all this makes the scrolling NOT smooth.
Some more explanation: I try to show a two dimensional table, not unlike a spreadsheet. And the table is dynamically populated and the width of each column in the table may change as a result of new data.