"kbenson" wrote:
It probably has more to do with the fact that the home button immediately kills the channel, and there's not a normal out of scope cleanup of variables. It probably considers everything as orphaned.
I'm not positive, but I believe before they had the home button killing the channel automatically it didn't do that. It used to send a msg that could be caught. They changed the behavior so a misbehaving channel couldn't ignore home button presses.
I don't think so. I get the same-ish number of "orphans" regardless of whether I use Home or I back out screen by screen. Many of my "classes" use callbacks to notify the screen/class that created them, so the child references the parent, hence the circular reference. I believe, when that screen closes, the garbage collector can't reconcile the circular reference definitively enough to know whether to clean it up or not, so it becomes orphaned. I do wonder if there are significant memory implications to that model and/or if there's a way to tell the system that it's safe to clean up.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)