2016-04-12 48 views
0

[Kazanınolduğu yığının Screencap] gönderilen mesaj [1][AVRetainReleaseWeakReference salma]: ayırmanın örneğine 0x171a2cd40

Bu olduktan sonra:

[self.sampleBufferDisplayLayer stopRequestingMediaData]; [self.sampleBufferDisplayLayer removeFromSuperlayer];

self.sampleBufferDisplayLayer adresi 0x171a2d040 ise

; iki kez için ayırmanın örneği (0x171a2cd40) AVSampleBufferDisplayLayer nesnesi içinde bir şey olduğu anlamına gelir mi? Öyleyse neden bu iç nesnenin iki kez hatadan sorumlu olmalıyım? Birisi bundan acı çekiyor mu? Ben farklı bir iş parçacığı bunları senkronize etmek için (öz) @synchronized kullanımını olmasına rağmen

0 libsystem_malloc.dylib 0x0000000196cbd9cc 0x196cb8000 + 22988 
1 TTKanKan     0x00000001008733b8 0x1000e0000 + 7943096 
2 TTKanKan     0x0000000100864584 0x1000e0000 + 7882116 
3 TTKanKan     0x000000010085f1e0 0x1000e0000 + 7860704 
4 TTKanKan     0x000000010085f36c 0x1000e0000 + 7861100 
5 TTKanKan     0x000000010085edd4 0x1000e0000 + 7859668 
6 TTKanKan     0x000000010085f7b8 0x1000e0000 + 7862200 
7 TTKanKan     0x000000010085f5fc 0x1000e0000 + 7861756 
8 TTKanKan     0x000000010085ef3c 0x1000e0000 + 7860028 
9 TTKanKan     0x000000010085ecac 0x1000e0000 + 7859372 
10 libsystem_pthread.dylib 0x0000000196d2bdb4 _pthread_body + 160 
11 libsystem_pthread.dylib 0x0000000196d2bd10 _pthread_start + 156 
12 libsystem_pthread.dylib 0x0000000196d28ee4 thread_start + 0 

cevap

1

Ben, başka bir iş parçacığı AVSampleBufferDisplayLayer aynı miktarda kaldırma ve tahsisini kaldırmak sabitleyin. Ve şimdi AVSampleBufferDisplayLayer tahsisatı ve tahsisi sadece bir iş parçacığında gerçekleşir.

+0

Ben de o karşılaştı. Benim app IOS9 (bir şey) sonra kilitleniyor başladı ve yerine 'nil' dönen veya uygulama yerine çöküyor 'nil-nesne' (AVSampleBufferDisplayLayer) hakkında 'nil' yapmanın gibi dikişler. O (Hatta denemek/catch Kilitlenmeden uygulamayı engel olmadı) tek bildiğim Objective-C kurallara aykırı. –