[AC-3143] Rows are not being reused even though className is set
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | n/a |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-10-04T15:01:28.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | Titanium SDK & CLI |
Labels | ios, tableview, ui |
Reporter | GetGlue |
Assignee | Kevin Whinnery |
Created | 2011-09-28T13:13:32.000+0000 |
Updated | 2016-03-08T07:48:12.000+0000 |
Description
While profiling our app I noticed that scrolling through the stream continues to generate new views rather than reusing existing ones. These rows do in fact have classNames set, and when the table is cleared, all the views are indeed garbage collected, so I do not believe it is an issue of external references being kept. Also of interest, the # of transitory instances also continues to rise, suggesting that the rows are being continuously garbage collected and recreated (potentially as a result of continuous setData calls).
Video of the issue: http://cl.ly/1M3L2T2y2k3k1q1y3g2Y
Factory method used to generate these rows: https://gist.github.com/7bd7d37b056562eb9962
Not that to page in new rows, they are added to the main tableViewSection, and then setData is called on the table with the entire array of sections again
Does this also produce the same issue? If it does it goes against my hunch that it was setData causing the issue, since you are paging in new rows with appendRow
Glad to see this is being considered. Table performance is nearly a deal breaker for us as far as using Titanium with our apps.