iphone - Crash with CALayer, memory problem -


my hotpaw2 solution incremental drawing problem. alas, discovered issue solution implemented it. reveals memory-induced crash when press botton @ bottom of iphone suspend app , restart it. (i can run app indefinitely long don't this). crash occurs @ indicated line below, occurs in foobar, subclass of uiview:

- (void)drawrect:(cgrect)rect { cgcontextref ctx = uigraphicsgetcurrentcontext();  // @@crash here: program received signal exc_bad_access  [backinglayer renderincontext:ctx];     // render backing layer current context [self randomrectangle: ctx];  } 

in interface of foobar have declared backing layer instance variable:

@private  nstimer* timer; calayer *backinglayer; 

in implementation of foobar, backinglayer occurs once more, in initwithframe, in following paragraph:

    backinglayer = self.layer;      // [backinglayer retain];     // set color space , background color     cgcolorspaceref colorspace = cgcolorspacecreatedevicergb();     cgfloat components[4] = {0.0f, 0.0f, 0.0f, 1.0f};     cgcolorref bgcolor = cgcolorcreate(colorspace, components);     backinglayer.backgroundcolor = bgcolor;     cgcolorrelease(bgcolor);     cgcolorspacerelease(colorspace); 

i should there nstimer timer defined in initwithframe fires off tick method below 12 times second:

- (void)tick {     // tell view needs re-draw      if (running) {  // go!        //  nslog(@"framerate: %2.1f, framecount: %d", framerate, framecount);         [self setneedsdisplay];         framecount++;     }  } 

i've run instruments on app. no memory leaks detected. when run allocations , (a) suspend app physical button, (b) touch app icon make run again, see huge cluster of allocations (~2 gb) --- , crash.

-- jim

see last comment, should have put here. fixed setting bool running false when app enters inactive state, resetting true when becomes active once again.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

sql server - python to mssql encoding problem -

windows - Python Service Installation - "Could not find PythonClass entry" -