Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Application lente sur ICS

Sujet résolu
    17 mai 2012 à 19:26:40

    Bonjour,

    J'ai créé un petit jeu pour android, le jeu étant dans un état déjà bien avancé je l'ai testé sur plusieurs smartphones.

    Sur un Nexus One en 2.3.6 l'application est fluide.
    Sur un Htc en 2.1 l'application est fluide.
    Et sur un Galaxy Nexus en 4.0.3 l'application n'est vraiment pas fluide.

    Le problème ne vient pas du Galaxy nexus car seul mon application semble lui poser problème.

    J'utilise quelque images en png ainsi qu'un Thread qui me sert à rafraîchir mon écran.
    Pour dessiner à l'écran j'étend android.view.SurfaceView et j'utilise un Canvas.

    Donc ce que je cherche à savoir c'est si Ice cream sandwich à certaines difficultée avec les Thread/surfaceView ou s'il y a une autre façon de faire qui est plus adaptée au jeu.
    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2012 à 19:30:20

      Bonjour,

      Etant actuellement en train de développer avec des outils similaires sur mon Galaxy Nexus, je peux t'assurer qu'aucun ralentissement devrait se faire ressentir et tu sembles utiliser les bons outils de la bonne manière.

      Ton application est déjà sur le Play Store pour que je puisse la tester ?
      • Partager sur Facebook
      • Partager sur Twitter
      Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
        17 mai 2012 à 19:48:16

        Non j'attend que ce soit fini avant de publier l'application.

        Etant novice en création de jeux et vu ta réponse, je dois mal m'y prendre quelque part dans mon code.

        Pourtant le Galaxy nexus étant plus puissant que le nexus one ça ne devrait pas marcher non plus sur le nexus one dans ce cas =/

        Je ne sais vraiment pas quoi faire pour trouver d'ou vient le problème.

        Au niveau du Thread faut-il mettre une limitation sur le nombre d'exécution par seconde ? ( Une sorte de limiteur de fps )

        Si non pour mettre mes images en caches j'utilise une Map comme ceci :

        private Map<Integer, Bitmap> _bitmapCache = new HashMap<Integer, Bitmap>();
        


        Et quand j'ai besoin de les utiliser :
        Bitmap bitmap = _bitmapCache.get(R.drawable.bact);
        
        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2012 à 20:16:29

          Citation : matsou03

          Pourtant le Galaxy nexus étant plus puissant que le nexus one ça ne devrait pas marcher non plus sur le nexus one dans ce cas =/


          Je suis d'accord.

          Citation : matsou03

          Au niveau du Thread faut-il mettre une limitation sur le nombre d'exécution par seconde ? ( Une sorte de limiteur de fps )


          Je ne comprends pas ce que tu veux dire.

          Citation : matsou03

          Si non pour mettre mes images en caches j'utilise une Map comme ceci :

          private Map<Integer, Bitmap> _bitmapCache = new HashMap<Integer, Bitmap>();
          



          Et quand j'ai besoin de les utiliser :

          Bitmap bitmap = _bitmapCache.get(R.drawable.bact);
          

          Une mise en cache d'objets Bitmap est très couteuse pour l'appareil.
          Tu pourrais faire un tour sur ce tutoriel de Google ou sur celui-ci pour connaitre la meilleur façon de faire.
          (J'ai testé les deux pour l'un de mes projets. Elles fonctionnent mais le premier est plus conseillé.)
          • Partager sur Facebook
          • Partager sur Twitter
          Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
            19 mai 2012 à 15:54:53

            Ha super merci.

            Lire ce tutoriel m'a permis de réaliser ou était mon erreur principal.
            Je redimensionnais toutes mes images pour les avoirs à la bonne taille à chaque rafraîchissement de mon écran, j'ai changé mon code de façon à ce qu'elle soit initialisée à la bonne taille au lancement du jeu et maintenant c'est bon c'est fluide y compris sur le galaxy nexus.

            J'installerais une cache "propre" dés que j'aurais un peu de temps devant moi pour voir si je peu encore améliorer ça.

            Merci beaucoup de m'avoir dirigé vers la bonne méthode :)

            Bonne fin de journée.
            • Partager sur Facebook
            • Partager sur Twitter

            [Android] Application lente sur ICS

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown