{ "id": "104246", "key": "AC-1998", "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": "6", "description": "", "name": "Hold" }, "resolutiondate": "2013-03-15T18:37:20.000+0000", "created": "2012-11-01T13:34:58.000+0000", "labels": [ "android", "crash", "triage", "ui" ], "versions": [], "issuelinks": [], "assignee": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "updated": "2016-03-08T07:40:56.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "I have an app that exposes a single variable( var api = {}; ) to the global scope. The app is glued together with Ti.include() by including different files that all contain a self-executing anonymous function containing code, which extends the api-var with functionality.\r\n\r\nThere is a content renderer function, which accepts some JSON data and a window as parameters and then renders some controls based on the JSON data on the window. This function is contained in a single file(ContentRenderer.js in gist).\r\n\r\nThis rendering function is used by other components. Here the problem occurs: When this function is used, it causes random but regular UI freezes(ANR) on Android devices. Strangely this does not happen when i make a copy(not by reference) of the function with eval(). The problematic lines in the code can be found in the following gist in the file ContentModule.js line 14-19:\r\n\r\nhttps://gist.github.com/3993412\r\n\r\nThe gist contains also the logfile from Dalvik Debug Monitor. ", "attachment": [], "flagged": false, "summary": "A rendering function causes UI freezes on Android when code is included with Ti.include(). Does not occur when same function is copied with eval() and then called.", "creator": { "name": "nomaad", "key": "nomaad", "displayName": "Matthias Zaugg", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "nomaad", "key": "nomaad", "displayName": "Matthias Zaugg", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Reproduced with Samsung Galaxy S1/S2/S3 with Android 2.3.3\r\nTi SDK 2.1.3.GA", "comment": { "comments": [ { "id": "226608", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Matthias,\nWe'd like to be able to reproduce this without spending time guessing unprovided code. If you could fill in the blanks in a new project and post a self-contained runnable test case ASAP that would be most useful.\nCheers.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-07T21:58:16.000+0000", "updated": "2012-11-07T21:58:16.000+0000" }, { "id": "242492", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Waiting on updated code. When provided, we will reopen.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-03-15T18:37:20.000+0000", "updated": "2013-03-15T18:37:20.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }