[Résolu] Memory Leaks

busterTheobusterTheo Membre
juillet 2015 modifié dans Apple Developer Programs #1

Bonjour,


 



Je débute sur Instruments, et je m'essaie sur le template Time Profiler.


 


Comment mettre en évidence les problèmes que l'on doit régler ?



 


Merci d'avance.


Mots clés:

Réponses

  • Bonjour,


    personne me répond, alors je continue mon histoire.


     


    J'ai essayé de tester les Leaks, et j'ai créé exprès un bout de code qui boucle, et là , effectivement, j'ai vu la barre rouge dans la timeLine (Leaks), et donc, sans ce bout de code, plus de barre rouge.


     


    Cela veut dire que je n'ai pas de fuite de mémoire ?


    J'espère que oui.


  • Depuis que j'ai fait la mise à  jour de Xcode 6.4, je simulator est super lent (des swipe de UIPageViewControllers)


     


    Comment tester et mettre en évidence le code qui dans Xcode 6.4 ralenti les animations de swipe ?


    Instruments est-til le bon programme pour tester tout ça ?


     


    Merci d'avance aux nombreux barmen qui vont répondre.


  • DrakenDraken Membre
    juillet 2015 modifié #4

    Ce qui se passe sur le simulateur n'a pas vraiment d'importance. Il faut voir si les ralentissements se produisent sur un device réel.


     


    Quand à  Instrument .. euh .. pas trop compris comment l'utiliser.


     


    Pour tester la consommation mémoire d'une application et la charge CPU, j'utilise le Debug Navigator. 

  • Joanna CarterJoanna Carter Membre, Modérateur
    Si tu utilises les Instruments, ça va ralentir l'exécution de l'appli à  cause de l'exécution des "crochets" des instuments.
  • Merci Draken.



     


     


    Pour tester la consommation mémoire d'une application et la charge CPU, j'utilise le Debug Navigator. 

    Et quelle est la norme ? La consommation acceptable (en cpu et memory) ?


  • Merci pour l'info, Joanna, mais j'ai le ralentissement sans instruments.


     


    Et toi, tu connais Instruments ?


    Je n'ai vu que les leaks (cités plus haut) - Il faut vérifier quoi avant de publier ?


    J'ai à  peu-près essayé tous les templates de Instruments, et je n'ai pas de message d'erreur ou de zones rouge.


    Donc tout va bien ?


     


    Ou c'est plus compliqué que cela...




  • Il faut vérifier quoi avant de publier ?




     


    Généralement, Il faut juste tester sur des appareils différents, si tu remarques des problèmes de performances ou autre c'est la que tu dois utiliser Instruments pour chercher le problème. 


     


    Après ça dépend du produit sur lequel tu travaille et pour qui tu travailles :) 

  • DrakenDraken Membre
    juillet 2015 modifié #9


    Merci Draken.


    Et quelle est la norme ? La consommation acceptable (en cpu et memory) ?




    Euh .. le moins possible. Il est difficile de donner une valeur précise car cela dépend du device, du type de l'application et de la taille des données. Les seules vraies limites sont : 


    - ça plante


    - ça lag


    - ça se rapproche trop du maximum de mémoire (512 Mo pour les anciens devices, 1 Go pour les nouveaux)


     


    C'est surtout pratique pour comparer l'efficacité de plusieurs codes, et voir les variations de charge mémoire pendant l'utilisation. La bonne manière de l'utiliser c'est de lancer l'application sur ton device physique et de jouer avec, tout en gardant un oeil sur la consommation mémoire. Les variations brutales sont souvent symptômes de problèmes. Et une augmentation continue de l'occupation mémoire amène forcément à  un plantage.


  • Merci beaucoup pour vos conseils.


     


    Pour info, je teste sur le simulator 8.4 sous Xcode 6.4.


     


    La mémoire (dans le débug navigator) va de environ 27Mo au lancement de l'appli, puis ça stagne autour de 130Mo durant toute l'appli.


    Donc, ça semble pas mal.


     


    J'ai quand même ce problème de lag dans les swipes latéraux. Je verrais ça quand j'aurai un iPad2.


     


    Sans quoi, le projet sera exclusivement pour iPad2.


     


    Je met résolu


  • Moi aussi j'étais content de mon prototype d'application qui prenait dans les 20 Mo sur le simulateur, jusqu'au jour où j'ai acheté une licence dév et testé en vrai sur mon iPhone 4 (iOS 7.1.2). 120  Mo .. et ça grimpais vite en ajoutant des données supplémentaires. Je te l'ai déjà  dit, d'ailleurs. Si tu n'as pas les moyens de t'acheter un iPad2 tu devrais négocier une avance avec ton client, ou un achat/prêt de matériel. C'est dans votre intérêt à  tous les deux de valider le prototype sur un device réel, alors qu'il reste du temps avant la dead line. 


  • Joanna CarterJoanna Carter Membre, Modérateur
    Je plussoie l'avis de Draken, très,très fortement. Il est absolument impératif que tu teste sur un device réel. En n'utilisant que le simulateur, il faut rendre compte que tu as accès à  la mémoire de ton ordinateur et pas le mémoire limitée d'un device ; tu utilises le processeur puissant Intel de ton ordinateur et pas le A7 du device.


    En plus, c'est pas seulement la quantité de mémoire que l'app consomme, c'est aussi le taux d'accroissement d'utilisation de mémoire, et les limites de quantité selon le device.


    Et, après tu as vérifié que l'app ne consomme pas trop pendant les petits tests, il faut passer par l'instrument détecteur de fuites pour vérifier que la mémoire soit bien récupérée pendant plusieurs répétitions d'exécution des activités dans l'app.
  • ouais, j'attend un deuxième acompte et j'en achète un. J'en ai vu à  220 euros sur la fnac ocaz.


    Il est possible que j'en récupère un que l'on me donne car trop lent. Je le formaterai et hop.


    On verra, en attendant, je continue comme je peux.


    Merci encore, et j'ai surtout bien noté ça 



     


     


    le taux d'accroissement d'utilisation de mémoire, et les limites de quantité selon le device

    et ça



     


     


    Les variations brutales sont souvent symptômes de problèmes. Et une augmentation continue de l'occupation mémoire amène forcément à  un plantage
Connectez-vous ou Inscrivez-vous pour répondre.