{ "id": "86455", "key": "TIMOB-7644", "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": [ { "id": "12096", "description": "", "name": "Sprint 2012-04", "archived": true, "released": true, "releaseDate": "2012-02-26" }, { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13070", "description": "Release 1.8 Service Pack 2", "name": "Release 1.8.2", "archived": true, "released": true, "releaseDate": "2012-02-29" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-06-27T12:16:54.000+0000", "created": "2012-02-14T10:08:01.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "memory", "module_tabgroup", "qe-testadded", "tab" ], "versions": [ { "id": "12677", "description": "Release 1.8 Service Pack 1", "name": "Release 1.8.1", "archived": true, "released": true, "releaseDate": "2012-01-31" } ], "issuelinks": [ { "id": "15172", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "84832", "key": "TIMOB-7152", "fields": { "summary": "iOS: Memory Leak: Objects created in a Ti.UI.tabGroup are not released when the tabGroup is closed", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "15381", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "86889", "key": "TIMOB-7791", "fields": { "summary": "iOS : TabGroups - Tab group icon and content disappear after running KS > Tab Groups > Close/Animate Tab Group", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "15281", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "86679", "key": "TIMOB-7714", "fields": { "summary": "iOS: Window freezing after scrolling back to the first view.", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "15484", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "87247", "key": "TIMOB-7858", "fields": { "summary": "iOS: TabProxy is not being released when a tab is removed from tabGroup before it gets the focus", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-06-28T17:30:44.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": "Memory is not being released when a tab is removed from a tabGroup on iOS using 'removeTab'.\r\n\r\n*Sample Code*\r\n{noformat}\r\n// create tab group\r\nvar tabGroup = Titanium.UI.createTabGroup();\r\n\r\n// create base UI tab and root window\r\n\r\nvar win1 = Titanium.UI.createWindow({ \r\n title:'Tab 1',\r\n backgroundColor:'#fff'\r\n});\r\nvar tab1 = Titanium.UI.createTab({ \r\n icon:'KS_nav_views.png',\r\n title:'Tab 1',\r\n window:win1\r\n});\r\n\r\nvar label1 = Titanium.UI.createLabel({\r\n color:'#999',\r\n text:'Remove Tab1',\r\n font:{fontSize:20,fontFamily:'Helvetica Neue'},\r\n textAlign:'center',\r\n width:'auto'\r\n});\r\n\r\nlabel1.addEventListener('click', function() {\r\n tabGroup.removeTab(tab1);\r\n label1 = win1 = tab1 = null;\r\n});\r\n\r\nwin1.add(label1);\r\n\r\n// create controls tab and root window\r\n\r\nvar win2 = Titanium.UI.createWindow({ \r\n title:'Tab 2',\r\n backgroundColor:'#fff'\r\n});\r\nvar tab2 = Titanium.UI.createTab({ \r\n icon:'KS_nav_ui.png',\r\n title:'Tab 2',\r\n window:win2\r\n});\r\n\r\nvar label2 = Titanium.UI.createLabel({\r\n color:'#999',\r\n text:'I am Window 2',\r\n font:{fontSize:20,fontFamily:'Helvetica Neue'},\r\n textAlign:'center',\r\n width:'auto'\r\n});\r\n\r\nwin2.add(label2);\r\n\r\n// add tabs\r\n\r\ntabGroup.addTab(tab1); \r\ntabGroup.addTab(tab2); \r\n\r\n// open tab group\r\ntabGroup.open();\r\n{noformat}\r\n\r\n*STEPS TO REPRODUCE*\r\n\r\n- Drop the above sample code into app.js.\r\n- Start the application and open Instruments to profile it.\r\n- Click the 'Remove Tab1' label.\r\n- Search for 'proxy' in instruments and it can be seen that tab proxy(along with window and label proxies inside tab1) are not released even if memory warnings are simulated.\r\n\r\n*EXPECTED BEHAVIOR*\r\nProxies related to tab and elements inside it should be released.\r\n\r\n*OBSERVED BEHAVIOR*\r\nMemory is not being freed.", "attachment": [ { "id": "26317", "filename": "Instruments Correct Screenshot.png", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-19T09:04:39.000+0000", "size": 200719, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: Memory is not being released when a tab is removed from tabGroup", "creator": { "name": "sbhimavarapu", "key": "sbhimavarapu", "displayName": "Sandeep Bhimavarapu", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "sbhimavarapu", "key": "sbhimavarapu", "displayName": "Sandeep Bhimavarapu", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Product: Titanium Mobile\r\nTitanium SDK: 1.8.1, 1.9.0 CI\r\nHost OS: Mac OS X Lion\r\nPlatform OS: iOS\r\nPlatform OS Version: 5.0", "comment": { "comments": [ { "id": "183881", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please do not reopen resolved bugs if you need them in another branch.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-21T16:22:20.000+0000", "updated": "2012-02-21T16:22:20.000+0000" }, { "id": "183945", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Issue persists. Reproduction steps:\r\n\r\n1. Launch code above\r\n2. Click \"Tab 2\"\r\n3. Click \"Tab 1\"\r\n4. Click \"Remove tab1\"\r\n\r\n*PASS*: 1 of: TiUIWindowProxy, TiUITabProxy, TiUILabelProxy", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-22T08:42:42.000+0000", "updated": "2012-02-22T08:42:42.000+0000" }, { "id": "183995", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Step #5: Click \"Simulate Memory Warning\"", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-22T14:23:12.000+0000", "updated": "2012-02-22T14:23:12.000+0000" }, { "id": "187058", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as Fixed.\r\n\r\nSDK: 2.0.0.v20120319003254\r\nStudio: 2.0.0.201203182248\r\nOS: Snow Leopard\r\nDevices Tested: iPhone4S 5.0.1\r\n\r\nAttached Success Screenshot: Instruments Correct Screenshot.png", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-19T09:04:39.000+0000", "updated": "2012-03-19T09:04:39.000+0000" }, { "id": "191721", "author": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "body": "reopening/closing to add/remove labels", "updateAuthor": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-04-18T16:44:11.000+0000", "updated": "2012-04-18T16:44:11.000+0000" }, { "id": "200515", "author": { "name": "amittal", "key": "amittal", "displayName": "Anshu Mittal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The memory is not being released for the objects: TiUIWindowProxy, TiUITabProxy, TiUILabelProxy\r\n\r\nTested on SDK:2.1.0.v20120625134154\r\nTested on Studio:2.1.0.201206251749\r\nDevices:iPad3(5.1), iphone 3GS(5.0.1)\r\nOS: OSX 10.7.3\r\n\r\nThis was working fine on 2.0.2", "updateAuthor": { "name": "amittal", "key": "amittal", "displayName": "Anshu Mittal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-27T04:01:44.000+0000", "updated": "2012-06-27T04:01:44.000+0000" }, { "id": "200594", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR pending https://github.com/appcelerator/titanium_mobile/pull/2479", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-27T11:19:04.000+0000", "updated": "2012-06-27T11:19:04.000+0000" }, { "id": "200638", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Fixed by PR 2479 on master and PR 2480 on 2_1_X", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-06-27T12:16:54.000+0000", "updated": "2012-06-27T12:16:54.000+0000" }, { "id": "200669", "author": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing issue:\r\n\r\nTested with Ti Studio build 2.1.0.201206251749\r\nTi Mobile SDK 2.1.0.v20120627121617 hash r06667517\r\nOSX Lion 10.7.3\r\niPhone 4S OS 5.0.1\r\n\r\nExpected behavior is shown. Note it can take a few minutes on device for the living memory to drop to 1.", "updateAuthor": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-27T14:33:17.000+0000", "updated": "2012-06-27T14:33:17.000+0000" } ], "maxResults": 13, "total": 13, "startAt": 0 } } }