{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/437","labels_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/437/labels{/name}","comments_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/437/comments","events_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/437/events","html_url":"https://github.com/facebook/AsyncDisplayKit/pull/437","id":70234753,"number":437,"title":"ASDataController dealloc, ensure cell nodes are not in a superview","user":{"login":"eanagel","id":842898,"avatar_url":"https://avatars.githubusercontent.com/u/842898?v=3","gravatar_id":"","url":"https://api.github.com/users/eanagel","html_url":"https://github.com/eanagel","followers_url":"https://api.github.com/users/eanagel/followers","following_url":"https://api.github.com/users/eanagel/following{/other_user}","gists_url":"https://api.github.com/users/eanagel/gists{/gist_id}","starred_url":"https://api.github.com/users/eanagel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eanagel/subscriptions","organizations_url":"https://api.github.com/users/eanagel/orgs","repos_url":"https://api.github.com/users/eanagel/repos","events_url":"https://api.github.com/users/eanagel/events{/privacy}","received_events_url":"https://api.github.com/users/eanagel/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/labels/CLA%20Signed","name":"CLA Signed","color":"bfe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-04-22T21:05:28Z","updated_at":"2015-05-04T04:37:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/pulls/437","html_url":"https://github.com/facebook/AsyncDisplayKit/pull/437","diff_url":"https://github.com/facebook/AsyncDisplayKit/pull/437.diff","patch_url":"https://github.com/facebook/AsyncDisplayKit/pull/437.patch"},"body":"For reasons I don't fully understand, this avoids a retain cycle with the currently displayed cells.\r\n\r\nThis is an alternate implementation of \"[Ensure all nodes are dealloc'd in ASDataController teardown #409](https://github.com/facebook/AsyncDisplayKit/pull/409)\" that works with multiple sections and IMO should supersede that one. (Thanks @barfoon for working this out in the first place. I was quite mystified until I saw his PR.)\r\n\r\nIn our application, this fix reduced AsyncDisplayKit's retained memory significantly. (There are still other issues I haven't tracked down, but this one is the biggest by far.)"},"comment":{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/comments/98586901","html_url":"https://github.com/facebook/AsyncDisplayKit/pull/437#issuecomment-98586901","issue_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/437","id":98586901,"user":{"login":"eanagel","id":842898,"avatar_url":"https://avatars.githubusercontent.com/u/842898?v=3","gravatar_id":"","url":"https://api.github.com/users/eanagel","html_url":"https://github.com/eanagel","followers_url":"https://api.github.com/users/eanagel/followers","following_url":"https://api.github.com/users/eanagel/following{/other_user}","gists_url":"https://api.github.com/users/eanagel/gists{/gist_id}","starred_url":"https://api.github.com/users/eanagel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eanagel/subscriptions","organizations_url":"https://api.github.com/users/eanagel/orgs","repos_url":"https://api.github.com/users/eanagel/repos","events_url":"https://api.github.com/users/eanagel/events{/privacy}","received_events_url":"https://api.github.com/users/eanagel/received_events","type":"User","site_admin":false},"created_at":"2015-05-04T04:37:11Z","updated_at":"2015-05-04T04:37:11Z","body":"I didn't bother with supporting layers because it appears `ASRangeController` isn't into layers (see https://github.com/facebook/AsyncDisplayKit/blob/master/AsyncDisplayKit/ASCellNode.m#L47), but it probably makes sense to code this for the future. I'll update the PR in the next few minutes here."}}