{ "id": "172791", "key": "AC-6080", "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": "10000", "description": "", "name": "Done" }, "resolutiondate": "2018-12-26T05:19:45.000+0000", "created": "2018-12-25T15:52:31.000+0000", "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2019-01-23T10:25:50.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": "TiUIImageView's with a TiBlob as an image property do not destroy the blobs when the property is nulled (using an empty string) or when the image view itself is garbage collected. \r\nIn an application where photo filters are being applied after a photo is taken this issue leads to massive TiBlob objects remaining alive in memory. The window where the processed images are being displayed doesn't release the TiBlobs, even if I explicitely loop over all the image views and null the image property.", "attachment": [], "flagged": false, "summary": "iOS: TiBlob proxies not being garbage collected from TiUIImageView", "creator": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "444835", "author": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "body": "I've found the cause. I was using ti.imagefactory and a module of mine which where returning a TiBlob which was not initialised using _initWithPageContext. I'll provide a PR for the Ti.Factory module. After the TiBlob was initialized with the page context the proxy was tracked properly and gargabe collected in due time", "updateAuthor": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-12-25T21:25:40.000+0000", "updated": "2018-12-25T21:25:40.000+0000" }, { "id": "444869", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "+1 for that PR!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-12-27T16:43:05.000+0000", "updated": "2018-12-27T16:43:05.000+0000" }, { "id": "445551", "author": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "body": "@Hans , I'll take care of the PR", "updateAuthor": { "name": "rlustemberg", "key": "rlustemberg", "displayName": "Richard Lustemberg", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-01-23T10:25:50.000+0000", "updated": "2019-01-23T10:25:50.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }