Μετάβαση στο περιεχόμενο


Φωτογραφία

View Controllers Memory


  • Παρακαλούμε συνδεθείτε για να απαντήσετε
22 μηνύματα σε αυτό το θέμα

#1   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 03/06/2012 - 11:41

Θα ήθελα τα φώτα σας.Εχω φτιάξει μια εφαρμωγή με ένα TableView που βγάζει σε DetailControllers. Το πρόβλημα είναι οτι όταν ανοίγω αρκετά detailItems η εφαρμωγή αρχίζει να καθηστερεί και μετά δεν λειτουργει σχεδόν καθόλου.Κάθε detailItem χρησιμοποιεί CoreMotion (CMMotionManager και attri...)αντικείμενα οπότε επιβαρύνεται η μνήμη.Χρησιμοποιώ ARC οπότε λογικά κάνει μόνο του dealloc την μνήμη όταν επιστρέφω απο ένα detailViewController.Εχω κάνει και τα αντικειμενα που χρησιμοποιώ nil sto ViewDidUnload και πάλι μετα απο μερικά διαφορετικά detailViewControllers κολλάει και μετα crasarei κ όλας ... αν μπορεί να μου πει κάποιος τι να κάνω??

Ad

Ad

Team
iPhoneHellas
3,1416 μηνύματα
Twitter: @android
Φύλο: Όπως το δει κανείς
Κινητό: Android
Tablet: Για τα κουνούπια

Γιατί να γίνετε μέλη;

#2   neo_com_3

neo_com_3

    Newbie

  • 222 μηνύματα
  • Φύλο: Άντρας

Δημοσίευση 03/06/2012 - 14:06

Καλησπέρα,

Έχεις δοκιμάσει να τεστάρεις την εφαρμογή σου με το Instruments?

#3   MasterX

MasterX

    iPH Enthousiast

  • 412 μηνύματα
  • Twitter:@iSmartSolution
  • Φύλο: Άντρας
  • Κινητό: iPhone 7 Plus
  • Tablet:iPad 2

Δημοσίευση 03/06/2012 - 17:32

Καταστρέφεις τα αντικείμενα του DetailControllers? Όπως έγραψε και ο neo_com_3, έχεις χρησιμοποιείς το Instruments για memory leak?

#4   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 03/06/2012 - 17:57

ναι αλλα δεν μου βγαζει τίποτα εκει ... απλα σταματαει να δουλευει ...το CMMotionManager ..πώς να τα καταστρέψω αφου έχω βάλει ΑRC και δεν με αφήνει να κάνω ούτε release oύτε dealloc .... μόνο nil βάζω τα properties στο viewdidunload.... τι άλλο μπορώ να κάνω ?? και κάτι αλλο στο instruments πώς μπορώ να δώ που έχω πρόβλημα στον κώδικα μου???

#5   MasterX

MasterX

    iPH Enthousiast

  • 412 μηνύματα
  • Twitter:@iSmartSolution
  • Φύλο: Άντρας
  • Κινητό: iPhone 7 Plus
  • Tablet:iPad 2

Δημοσίευση 03/06/2012 - 18:01

ναι αλλα δεν μου βγαζει τίποτα εκει ... απλα σταματαει να δουλευει ...το CMMotionManager ..πώς να τα καταστρέψω αφου έχω βάλει ΑRC και δεν με αφήνει να κάνω ούτε release oύτε dealloc .... μόνο nil βάζω τα properties στο viewdidunload.... τι άλλο μπορώ να κάνω ?? και κάτι αλλο στο instruments πώς μπορώ να δώ που έχω πρόβλημα στον κώδικα μου :huh:


Σωστά, το ξέχασα ότι το ARC δεν σε αφήνει να καλέσεις τη μέθοδο release. Τότε θα πρέπει να καταργήσει το ARC! Δες αυτό το παράδειγμα για το Instruments http://www.cimgf.com...th-instruments/

#6   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 03/06/2012 - 18:10

Εψαξα αρκετά και είδα οτι με το ARC κάνει αυτόματα dealloc και realese απλά κάνοντας έναν strong property nil.Αυτό που δεν έχω καταλάβει είναι αν γυρνόντας απο ένα detail view αποδεσμέυει την μνημη που ειχε δεσμευσει αυτο το view ...αν δεν το κάνει ...πώς το κάνω μόνος μου με ARC ?? ξέρει κανείς τι παίζει ?

#7   MasterX

MasterX

    iPH Enthousiast

  • 412 μηνύματα
  • Twitter:@iSmartSolution
  • Φύλο: Άντρας
  • Κινητό: iPhone 7 Plus
  • Tablet:iPad 2

Δημοσίευση 03/06/2012 - 18:20

Δοκίμασε να θέσεις όλα τα objects (και όχι μόνο τα properties) που έχει φτιάξει σε nil

#8   Lefteris23

Lefteris23

    iPH Addict

  • 624 μηνύματα
  • Twitter:@LefterisHaritou
  • Φύλο: Άντρας
  • Κινητό: iPhone 5
  • Tablet:iPad 3

Δημοσίευση 04/06/2012 - 01:34

Εψαξα αρκετά και είδα οτι με το ARC κάνει αυτόματα dealloc και realese απλά κάνοντας έναν strong property nil.Αυτό που δεν έχω καταλάβει είναι αν γυρνόντας απο ένα detail view αποδεσμέυει την μνημη που ειχε δεσμευσει αυτο το view ...αν δεν το κάνει ...πώς το κάνω μόνος μου με ARC ?? ξέρει κανείς τι παίζει ?


Μα αυτο θα το δεις από το instruments... Αν οταν κλείσεις τον view controller απελευθερώσει την μνήμη ή οχι...

Επίσης στο tableview κανεις σωστά reuse τα κελιά ?

#9   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 04/06/2012 - 09:52

Απλά απ το instruments δεν βγάζω άκρι γιατί το μόνο leak που μου πετάει είναι εδώ....

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
τί να είναι αυτό??

#10   Lefteris23

Lefteris23

    iPH Addict

  • 624 μηνύματα
  • Twitter:@LefterisHaritou
  • Φύλο: Άντρας
  • Κινητό: iPhone 5
  • Tablet:iPad 3

Δημοσίευση 04/06/2012 - 10:59

Από τα instruments 8α δεις το total memory allocations.
Από εκεί θα καταλάβεις τι γίνεται.

Δεν χρειάζεται να χρησιμοποιήσεις το memory leaks instruments. Χρησιμοποίησε το memory allocations instrument.
Και όπως σου είπαν τα παιδιά, κάνε nil τα objects που δεν σου χρειάζονται.

Πιο βασικό για μένα είναι ο τρόπος που χρησιμοποιείς τα κελιά. Αν δεν κάνεις σωστό reuse εκεί, τότε εκεί είναι το πρόβλημα.
Θα σου έλεγα να ποστάρεις στο stackoverflow το πρόβλημα σου ΜΑΖΙ με τον κώδικα που χρησιμοποιείς στο cellForRowAtIndexPath για τα κελιά, για να δούμε που μπορεί να υπάρχει το πρόβλημα.

#11   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 04/06/2012 - 12:05

http://stackoverflow...ew-detail-items

#12   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 04/06/2012 - 12:21

To έβαλα σε αυτή την διεύθυνση στο stackoverflow ... αν μπορείτε δείτε το...

#13   Lefteris23

Lefteris23

    iPH Addict

  • 624 μηνύματα
  • Twitter:@LefterisHaritou
  • Φύλο: Άντρας
  • Κινητό: iPhone 5
  • Tablet:iPad 3

Δημοσίευση 04/06/2012 - 13:06

Είναι νομίζω προφανές το πρόβλημα.
Για κάθε κελί κάνεις allocate καινούργιο κελί και εξαντλείς την μνήμη.

Τα κελιά γίνονται reuse για αυτόν ακριβώς τον λόγο.
Σου συνιστώ να αγοράσεις ένα βιβλίο για το iOS Development που θα σε βοηθήσει πολύ. http://www.amazon.co...38807910&sr=1-1

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

Σου απαντώ τώρα για το πρόβλημα σου στο SO :)
Αν σε κάλυψε η απάντηση μου, το σωστό είναι στο SO να την κάνεις δεκτή σαν σωστή απάντηση, btw :)

Τελευταία επεξεργασία από: Lefteris23, 04/06/2012 - 13:11


#14   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 04/06/2012 - 14:14

Εβαλα και σε περίπτωση cell=nil όπως μου είπες στο stackoverflow αλλα τιποτα δεν αλλαξε .. πάλι οταν φορτώνω 6,7 detail items κολλάει το σύμπαν και μετά δεν δουλεύει το attitude του motion και μετά τέλος.....

#15   Diomidis

Diomidis

    iPH newbie

  • 35 μηνύματα
  • Φύλο: Άντρας
  • Κινητό: iPhone 6 Plus
  • Tablet:iPad 2

Δημοσίευση 04/06/2012 - 20:15

http://stackoverflow...lviewcontroller
Το πρόβλημα δεν είναι στο πέρασμο στο detailview ,είναι στο detailview , αλλα δεν μπορώ να καταλάβω που...

Ad

Ad

Team
iPhoneHellas
3,1416 μηνύματα
Twitter: @android
Φύλο: Όπως το δει κανείς
Κινητό: Android
Tablet: Για τα κουνούπια

Γιατί να γίνετε μέλη;



Χρήστες που διαβάζουν αυτό το θέμα: 0

0 μέλη, 0 επισκέπτες, 0 ανώνυμοι χρήστες