iPhone ανάπτυξη - πρόληψη διαρροών

ψήφοι
4

Όταν τρέχω την εφαρμογή μου με διαρροές και δείτε τις Εκτεταμένη Λεπτομέρειες για οποιαδήποτε από τις διαρροές, μου παίρνει σε μια συγκεκριμένη γραμμή στον κώδικα μου, αλλά δεν ξέρω τι να κάνω μετά από αυτό!

Για παράδειγμα, οι διαρροές δείχνει μια malloc σε αυτή τη γραμμή

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

Αλλά δεν ξέρω ποιο είναι το πρόβλημα με τη δήλωση! Μπορεί κάποιος παρακαλώ να μου πείτε πώς να ερμηνεύσει αυτά τα προβλήματα και να αποφευχθούν οι διαρροές.

Ευχαριστώ.

Επεξεργασία: Αναφορικά με την προηγούμενη ερώτηση που είχα, NSZombieEnabled κάνει ότι δεν υπάρχουν αντικείμενα deallocated και αυτό αυξάνει τη χρήση της μνήμης. Έτσι, κατά τη δοκιμή με διαρροές, βεβαιωθείτε ότι η ρύθμιση αυτή έχει αφαιρεθεί από την εφαρμογή σας. Πιστεύεται ότι αυτό θα μπορούσε να βοηθήσει κάποιος.

Δημοσιεύθηκε 24/01/2009 στις 06:02
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
3

Βρέθηκε η απάντηση. απάντηση Fredrik πήρε σκεπτόμενο. Ήμουν δημιουργώντας ένα στιγμιότυπο του NSURLResponse και NSError οποία στη συνέχεια διέρχεται προς τη μέθοδο sendSynchronousRequest. Σύμφωνα με το έγγραφο της διαχείρισης της μνήμης του iPhone, αυτό δεν πρέπει να γίνει. Πρέπει απλώς να περάσει μια αναφορά στα αντικείμενα NSURLResponse και NSError με τη μέθοδο και τη μέθοδο φροντίζει για τη δημιουργία και την απελευθέρωση των αντικειμένων.

Ελπίδα που βοηθά κάποιον άλλο. Ευχαριστώ πολύ για την απάντηση σε όλους.

Απαντήθηκε 26/01/2009 στις 15:24
πηγή χρήστη

ψήφοι
1

Μια διαρροή στη μέθοδο που αναφέρω παραπάνω, έπρεπε να καθοριστεί για την απελευθέρωση του iPhone OS 2.2. Ποια έκδοση του iPhone OS χρησιμοποιείτε;

Απαντήθηκε 24/01/2009 στις 20:28
πηγή χρήστη

ψήφοι
1

Έχετε απελευθερώσει την ανταπόκριση και αντικείμενα λάθους μετά την κλήση; Αυτοί είναι ενδεχομένως διατεθεί στην πρόσκληση.

Απαντήθηκε 24/01/2009 στις 10:58
πηγή χρήστη

ψήφοι
1

Η Εκτεταμένη παράθυρο Λεπτομέρειες θα σας δώσει στοίβα ίχνη που σας δείχνει τη στοίβα με τη διαρροή. Σε γενικές γραμμές ένα καλό μέρος για να ξεκινήσετε είναι να εξετάσουμε τις μεθόδους σας και την τελευταία μέθοδο του κώδικά σας στη στοίβα και να δούμε τι κάνετε μνήμη σοφός εκεί, ακούγεται σαν να μπορούσε να είναι πάνω από τη διατήρηση ενός αντικειμένου. Ξεκινήστε υπάρχει προς το παρόν

Απαντήθηκε 24/01/2009 στις 07:04
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more