Meine App friert manchmal ein und ich bin mir nicht ganz sicher warum.
Ich denke es hat was mit performSelectorOnMainThread:withObject:waitUntilDone: zu tun
Und zwar habe ich einen Backgroundthread. Diesen erzeuge ich so:
Alles anzeigen
Wenn der backgroundthread seine arbeite erledigt hat, sendet er folgendes:
Dies kommt dann hier an:
In den meisten Fällen wird doSomething aufgerufen aber manchmal hängt sich das Programm auch einfach auf.
Ich bekomme keine Fehlermeldung, sowohl der Mainthread als auch der Backgroundthread frieren ein.
Woran könnte das liegen?
Ich denke es hat was mit performSelectorOnMainThread:withObject:waitUntilDone: zu tun
Und zwar habe ich einen Backgroundthread. Diesen erzeuge ich so:
Quellcode
- - (void)start{
- NSThread* updateThread = [[NSThread alloc]initWithTarget:self selector:@selector(threadedTimer) object:nil];
- [updateThread setName:@"UpdateThread"];
- [updateThread start];
- }
- - (void)threadedTimer{
- @autoreleasepool {
- DDLogInfo(@"Create RunLoop");
- NSRunLoop *TimerRunLoop = [NSRunLoop currentRunLoop];
- UpdateRoutine *updateRoutine = [[UpdateRoutine alloc]init];
- [updateRoutine serviceCheck];
- [NSTimer scheduledTimerWithTimeInterval:15.0 target:updateRoutine selector:@selector(serviceCheck) userInfo:nil repeats:YES];
- [TimerRunLoop run];
- }
- }
Wenn der backgroundthread seine arbeite erledigt hat, sendet er folgendes:
Dies kommt dann hier an:
In den meisten Fällen wird doSomething aufgerufen aber manchmal hängt sich das Programm auch einfach auf.
Ich bekomme keine Fehlermeldung, sowohl der Mainthread als auch der Backgroundthread frieren ein.
Woran könnte das liegen?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Erebos1988 ()
