{ "id": "63907", "key": "TIMOB-3275", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "10100", "description": "This issue won't be actioned.", "name": "Won't Do" }, "resolutiondate": "2020-01-09T18:51:23.000+0000", "created": "2011-04-15T03:41:08.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "tbs-1.8.0" ], "versions": [], "issuelinks": [], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-01-09T18:51:23.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "{html}
Scrollable view needs to only render/unload the most recent\r\nimages affected by scrolling, instead of iterating over the entire\r\nset of cached images. Could lead to performance improvements (big\r\nones?) on pre-4.0 devices.
(from [96844c9ddddbabc678c3a2a03037f7c2dc50861c])\n[#3275] More accurate scrollableview cache\nrendering code. \nhttps://github.com/appcelerator/titanium_mobile/commit/96844c9ddddb...
(from [14fa43d620494f6a10944bb03900d9434715560e])\n[#3275] Significant scrollable caching\nimprovements. \nhttps://github.com/appcelerator/titanium_mobile/commit/14fa43d62049...
This was a red herring from scrollable view improvements.\nInstead, it's just that our view rendering code is massively\ninefficient; going to mark for 1.7.0 as a potentially late-term\nimprovement and assign to Reggie for triage.
\nThe previous two commits take care of the issue from the\nscrollable view side of the equation.
Tested with the following combination:
\nBuild 01937daa0e^ Build Master Titanium SDK version: 1.7.0\n(03/07/11 10:54 4fb5ed1)
\niPhone 3g 3.1.2 slight stall when scrolling Same as previous\nbuild
\niPad 3.2.2 scrolls smoothly Same as previous build
I have ran the test application against the above builds and\ndevice, the only difference that I have encountered is that Build\n01937daa0e^ will crash after scrolling through ~10 images and the\nnew build will not crash. The slow scrolling seems to be device\nspecific and not the iOS.
I can attest to the scrolling smoothness issues. Tested on\niPhone 3GS running latest iOS version and iPad running iOS 3.2.2.\nOn iPhone, seems to stall about mid-way through the animation -\nlooks like it is trying to cache the new image\nduring the animation, when it should be doing that\nafter the animation is complete. On iPad, scrolling seems a bit\nsmoother, but still stalls slightly mid-animation. Also, I am\nnoticing no differences between different builds in this\naspect.
\nAdditionally, the app still crashes after scrolling through a\nnumber of images (the number is dependant on image dimensions,\nwhich makes sense - bigger images require more memory to be\nallocated). Unfortunately, my app also crashes with the latest\nbuild, so the caching improvements didn't seem to fix the memory\nleaks. Possibly a gc issue?