У меня есть несколько полноэкранных UIColor PatternImages
(в scrollViews
) в приложении iPad, и у меня проблемы с памятью (сюрприз?)
Когда у меня начались проблемы с памятью, я реализовал ленивую загрузку в моих просмотрах прокрутки.
Когда проблемы продолжались, я перешел от фабричных методов (таких как [UIColor colorWithPatternImage:...]
) к методам "выделения" (например, [[UIColor alloc]initWithPatternImage:...]
), чтобы я мог реагировать на предупреждения памяти, освобождая страницы.
Однако всякий раз, когда я отпускаю свои изображения UIColor PatternImages, я получаю “EXC_BAD_ACCESS”
ошибку.
Сначала я подумал, что это может быть вызвано моими [UIImage imageNamed:...]
изображениями шаблонов, поэтому я переключился на [[UIImage alloc]initWithContentsOfFile:...]
изображений, но это не помогло. Только что я установил NSZombiesEnabled
, и он говорит мне, что проблема в следующем:
-[UICGColor release]: message sent to deallocated instance 0x187b50
Со следом:
#0 0x35823910 in ___forwarding___ ()
#1 0x35823860 in __forwarding_prep_0___ ()
#2 0x357e53c8 in CFRelease ()
#3 0x357e48de in _CFAutoreleasePoolPop ()
#4 0x3116532c in NSPopAutoreleasePool ()
#5 0x341a7508 in _wrapRunLoopWithAutoreleasePoolHandler ()
#6 0x3580ac58 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#7 0x3580aacc in __CFRunLoopDoObservers ()
#8 0x358020ca in __CFRunLoopRun ()
#9 0x35801c86 in CFRunLoopRunSpecific ()
#10 0x35801b8e in CFRunLoopRunInMode ()
#11 0x320c84aa in GSEventRunModal ()
#12 0x320c8556 in GSEventRun ()
#13 0x341dc328 in -[UIApplication _run] ()
#14 0x341d9e92 in UIApplicationMain ()
#15 0x00002e5e in main (argc=1, argv=0x2fdff610) at...
У меня тоже нет UICGColor
объектов, поэтому я думаю, что каким-то образом мои "выделенные" UIColors
объекты имеют базовые UICGColor
объекты автозапуска ...? Любые идеи / идеи?
CGImage
, потому что он вам не принадлежит (вы не называли для негоcreate
,new
илиretain
). Вам, вероятно, следует прочитать руководства по управлению памятью (снова для Cocoa и Core Foundation). - person Ole Begemann   schedule 25.01.2011