{ "id": "135271", "key": "AC-901", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2015-09-15T04:40:16.000+0000", "created": "2014-08-25T18:31:05.000+0000", "labels": [ "TCSupportTriage", "listview", "searchbar" ], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:37:12.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "Deactivating is also very slow. Look at time profiler screenshots for list with ~200 items. First is for activating, second is for deactivating.", "attachment": [ { "id": "50748", "filename": "Screen Shot 2014-08-25 at 9.24.29 PM.png", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2014-08-25T18:31:05.000+0000", "size": 111968, "mimeType": "image/png" }, { "id": "50749", "filename": "Screen Shot 2014-08-25 at 9.25.03 PM.png", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2014-08-25T18:31:05.000+0000", "size": 88311, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: SearchBar activating is dramatically slow for large ListView", "creator": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "subtasks": [], "reporter": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "environment": "master Titanium SDK\r\niOS7\r\niPod Touch 5\r\ncustom 'slow' ListView template", "comment": { "comments": [ { "id": "320177", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hello,\r\ncan you please provide a testcase in the form of app.js? Thanks! \r\n\r\nBest Regards,\r\nMauro ", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2014-08-25T20:05:54.000+0000", "updated": "2014-08-25T20:05:54.000+0000" }, { "id": "320358", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "body": "We need custom slow ListView template. Look like all items in ListView reloaded if SearchBar activated.\r\n\r\n{code:javascript}\r\nvar section = Ti.UI.createListSection();\r\n\r\nvar template = {\r\n childTemplates: [{\r\n type: 'Ti.UI.ImageView',\r\n properties: {layout: 'horizontal'},\r\n childTemplates: []\r\n }]\r\n};\r\nfor (var i = 0; i < 10; i++) {\r\n template.childTemplates[0].childTemplates.push({\r\n type: 'Ti.UI.ImageView',\r\n bindId: 'image' + i\r\n });\r\n}\r\n\r\nvar items = [];\r\nfor (i = 0; i < 10000; i++) {\r\n var images = {};\r\n for (var j = 0; j < 10; j++) {\r\n images['image' + j] = {\r\n image: 'appicon.png',\r\n width: '10%'\r\n };\r\n }\r\n items.push(images);\r\n}\r\nsection.setItems(items);\r\n\r\nvar list = Ti.UI.createListView({\r\n top: 20,\r\n searchView: Ti.UI.createSearchBar(),\r\n templates: {'template': template},\r\n defaultItemTemplate: 'template'\r\n});\r\nlist.appendSection(section);\r\n\r\nvar win = Ti.UI.createWindow();\r\nwin.add(list);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2014-08-26T14:39:35.000+0000", "updated": "2014-08-26T14:40:19.000+0000" }, { "id": "322203", "author": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "Hello,\r\n\r\nWe have tested this issue with the above testing code. We don't find any change in large ListView performance for the above code. \r\n\r\n*TESTING ENVIRONMENT:*\r\n\r\n Titanium SDK: 3.3.0.GA and 3.2.3.GA\r\n Titanium CLI: 3.3.0\r\n OS X Version: 10.9.3\r\n iOS Simulator: 7.1\r\n\r\nThanks.\r\n\r\n", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2014-09-06T10:53:49.000+0000", "updated": "2015-02-03T15:34:13.000+0000" }, { "id": "341841", "author": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "body": "Of cos on simulator performance will be fine. I meant *REAL* devices. In my app I have list view with 200 items and simple custom template (two labels). Activating search view takes 2500ms on iPod touch 5.", "updateAuthor": { "name": "farwayer", "key": "farwayer", "displayName": "Far", "active": true, "timeZone": "Europe/Minsk" }, "created": "2015-02-03T16:25:48.000+0000", "updated": "2015-02-03T16:25:48.000+0000" }, { "id": "341995", "author": { "name": "ahossain", "key": "ahossain", "displayName": "Amimul Hossain", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, We have tested this issue with SDK 3.5.1 and highers in iOS 8.1.3 devices. It's working smoothly.\r\n\r\nh5. TESTING ENVIRONMENT\r\n\r\nCLI version 3.4.1, \r\nTitanium SDK version 3.5.0.GA\r\niOS 8.1.3, Device iPod 5G\r\n\r\nh5. CODE SAMPLE\r\n{code}\r\nvar section = Ti.UI.createListSection();\r\n \r\nvar template = {\r\n childTemplates: [{\r\n type: 'Ti.UI.ImageView',\r\n properties: {layout: 'horizontal'},\r\n childTemplates: []\r\n }]\r\n};\r\nfor (var i = 0; i < 10; i++) {\r\n template.childTemplates[0].childTemplates.push({\r\n type: 'Ti.UI.ImageView',\r\n bindId: 'image' + i\r\n });\r\n}\r\n \r\nvar items = [];\r\nfor (i = 0; i < 10000; i++) {\r\n var images = {};\r\n for (var j = 0; j < 10; j++) {\r\n images['image' + j] = {\r\n image: 'appicon.png',\r\n width: '10%'\r\n };\r\n }\r\n items.push(images);\r\n}\r\nsection.setItems(items);\r\n \r\nvar list = Ti.UI.createListView({\r\n top: 15,\r\n searchView: Ti.UI.createSearchBar(),\r\n templates: {'template': template},\r\n defaultItemTemplate: 'template'\r\n});\r\nlist.appendSection(section);\r\n \r\nvar win = Ti.UI.createWindow();\r\nwin.add(list);\r\nwin.open();\r\n{code}\r\n\r\nh5. STEP TO REPRODUCE\r\n\r\n1. Create a new project.\r\n2. Copy the code above to project \"app.js\" file.\r\n3. Run the project in a iOS device.\r\n4. After the app opens, tap on searchbar to search.\r\n\r\nh5. OBSERVED RESULT\r\n\r\nThough It' takes time to actually open the app, after the app opens tapping on SearchBar to activate is working smoothly, approximately 1500ms~1600ms. it's can't be consider as \"dramatically slow\" considering the large listView. Also deactivating the SearchBar is much faster then activating.\r\n\r\nIt's not a valid bug.\r\n\r\n", "updateAuthor": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-02-04T05:27:26.000+0000", "updated": "2015-09-15T04:40:10.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }