Ho un metodo ciclo di esecuzione per un CAEAGLLayer che utilizza GCD per serializzare l'accesso ai ivars condivisi.È necessario creare un pool di autorelease sotto ARC in GCD?
mio codice di disegno attualmente è costruito in questo modo:
- (void)draw {
dispatch_sync(serialDrawingQueue, ^{
@autoreleasepool {
[self drawingStart];
[spriteA draw];
[spriteB draw];
[self drawingEnd];
}
});
}
Il metodo draw
viene chiamato da un CADisplayLink. È necessario il @autoreleasepool
quando utilizzo i blocchi GCD?
Che ne dici di provarlo e vedere se si ottiene "nessuna piscina sul posto ... solo perdite!" messaggio di errore? –
Ovviamente è meglio chiedere agli sviluppatori più esperti che questa sia o meno una buona idea. –