2010-12-07 7 views
0

Ich benutze NSThread, um einige Arbeiten gleichzeitig mit dem Hauptthread auszuführen. Ich habe die Anwendung auf dem iPhone 3G bereitgestellt Die Anwendung funktioniert wie erwartet im ersten Lauf.App stürzt bei abwechselnden Läufen ab, während NSThread zum Laden der Karte verwendet wird

Aber wenn ich die App schließe und sie erneut starte, stürzt sie sofort ab. Das nächste Mal, wenn ich die App starte, funktioniert es wieder gut. Das wiederholt sich ständig.

Ich habe keine Ahnung, warum frühere Ausführung der App einen Effekt auf den nächsten Lauf hat. Bitte helfen!

Hier ist mein Code:

NSThread *th=[[NSThread alloc]initWithTarget:self selector:@selector(loadMap) object:nil]; 
[th start]; 

-(void) loadMap{ 

    NSAutoreleasePool * pool=[[NSAutoreleasePool alloc]init]; 

    //code to load MKMapView 

    [pool release]; 

} 

Vielen Dank im Voraus

App wird nicht abstürzen, wenn ich zwischen zwei Läufen einen anderen Kartenanwendung öffnen! Funktioniert auch App sehr gut, wenn ich den Faden entfernen und die Karte seriell

Antwort

0

ich Sie sollten Zeit thread programming reference, über das Kapitel der Thread-Management zu lesen verbringen denken laden.

+0

Ich habe Threading Programmieranleitung mehrmals durchlaufen. – TheBlackPearl

+0

Könnten Sie bitte erläutern, wo der Fehler im Code liegt, wenn Sie ihn gefunden haben? – TheBlackPearl

+0

In dem Dokument heißt es, dass nicht deletached Thread direkt beendet wird, wenn Anwendung beendet wird. – AechoLiu