I’ve been having a problem with images being loaded with loadRemoteImage in newTableViews. The issue i’m having is I’m seeing images being added to the default display group vs the the table row. I’m assuming this is because the table row group is not valid and it fall back to the default display group.
I’m thinking this is related to the asynchronous lazy loading of the newTableViews. The on rowRender on my table will load a remote image and cache it. If I zip down to the bottom of my table, which forces the lazyLoadng of a new/last row, and zip to the top so that row is no longer in focus, the image that was supposed to be placed in that row gets added to the default group vs the table row group. The result is an image that fills up the screen and overlays the tableview. It looks like the event listener for loadRemoteImage is being called after the row lost focus.
I’ve added checks to see if the row/group is null before adding in both the rowRender and loadRemoteImage listeners, but it doesn’t look like the group is actually nil.
Does the newTableView free memory by removing rows that are not visible on the screen? If/when this happens, is there a way for the listener of the loadRemoteImage to know that the row is no longer available and call :removeSelf() on the image so it doesn’t get added?