[TIMOB-3275] Scrollable view caching improvements
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Low |
Status | Closed |
Resolution | Won't Do |
Resolution Date | 2020-01-09T18:51:23.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | iOS |
Labels | tbs-1.8.0 |
Reporter | Stephen Tramer |
Assignee | Ingo Muschenetz |
Created | 2011-04-15T03:41:08.000+0000 |
Updated | 2020-01-09T18:51:23.000+0000 |
Description
Scrollable view needs to only render/unload the most recent images affected by scrolling, instead of iterating over the entire set of cached images. Could lead to performance improvements (big ones?) on pre-4.0 devices.
(from [96844c9ddddbabc678c3a2a03037f7c2dc50861c]) [#3275] More accurate scrollableview cache rendering code. https://github.com/appcelerator/titanium_mobile/commit/96844c9ddddbabc678c3a2a03037f7c2dc50861c"> https://github.com/appcelerator/titanium_mobile/commit/96844c9ddddb...
(from [14fa43d620494f6a10944bb03900d9434715560e]) [#3275] Significant scrollable caching improvements. https://github.com/appcelerator/titanium_mobile/commit/14fa43d620494f6a10944bb03900d9434715560e"> https://github.com/appcelerator/titanium_mobile/commit/14fa43d62049...
This was a red herring from scrollable view improvements. Instead, it's just that our view rendering code is massively inefficient; going to mark for 1.7.0 as a potentially late-term improvement and assign to Reggie for triage.
The previous two commits take care of the issue from the scrollable view side of the equation.
Tested with the following combination:
Build 01937daa0e^ Build Master Titanium SDK version: 1.7.0 (03/07/11 10:54 4fb5ed1)
iPhone 3g 3.1.2 slight stall when scrolling Same as previous build
iPad 3.2.2 scrolls smoothly Same as previous build
I have ran the test application against the above builds and device, the only difference that I have encountered is that Build 01937daa0e^ will crash after scrolling through ~10 images and the new build will not crash. The slow scrolling seems to be device specific and not the iOS.
I can attest to the scrolling smoothness issues. Tested on iPhone 3GS running latest iOS version and iPad running iOS 3.2.2. On iPhone, seems to stall about mid-way through the animation - looks like it is trying to cache the new image during the animation, when it should be doing that after the animation is complete. On iPad, scrolling seems a bit smoother, but still stalls slightly mid-animation. Also, I am noticing no differences between different builds in this aspect.
Additionally, the app still crashes after scrolling through a number of images (the number is dependant on image dimensions, which makes sense - bigger images require more memory to be allocated). Unfortunately, my app also crashes with the latest build, so the caching improvements didn't seem to fix the memory leaks. Possibly a gc issue?
Is this still valid? Who knows. Going to assume there's an existing test because I checked in fixes before.
It has been decided that this issue should be closed as “Won’t do.” This issue is out of date with our current supported SDK release (7.5.2.GA as of the date of closure), and out of date with mobile OS versions. Updating, or creating code may not reproduce the issue reported, or be a valid test case. If community members feel that the issue is still valid, please create a new ticket. Please reference this closed ticket number, include SDK used, comments, and code that demonstrates/reproduces the issue.