IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Pour bien comprendre le cycle des activités


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Par défaut Pour bien comprendre le cycle des activités
    Bonjour,
    je démarre le développement Android et avant tout, je veux comprendre le cheminement d'une application au travers du cycle des activités. J'ai donc écrit quelques lignes pour tracer ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class MainActivity extends AppCompatActivity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            Log.d("rd", "methode onCreate");
        }
     
        protected void onResume(Bundle savedInstanceState) {
            super.onResume();
            Log.d("rd", "onResume");
        }
    }
    Pour onCreate(), on y passe à tous les coups.
    Pour onResume(), je fais passer mon activité au second plan au profit d'autres activités. Quand je la fais repasser au premier plan, mon Log ne s'affiche jamais. Si j'ai bien compris le cycle des activités, c'est cet évènement qui déclenche l'appel de cette méthode.
    J'ai pas mal farfouillé sur le Net et il me semble que j'ai bien écrit...
    Si quelqu'un peut m'aiguiller pour la suite.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Par défaut
    Bonjour,
    c'est bizarre. Quand je remet mon application au premier plan, je ne passe que dans la méthode onCreate() avec un Bundle == null ce qui a tendance à me prouver que je recréé mon application à chaque fois.
    Etonnant non? Ou alors je m'y prend de travers.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    Bonjour,

    Ton cheminement de tests n'est pas très clair quand tu parles de faire passer ton activité ou application au premier plan, donc je vais répondre très largement.

    OnCreate est appelé pour créer l'activité (récupérer le layout associé et lié les Views avec le code), et onResume est appelé à la création, mais aussi quand l'activité revient au premier plan, c'est à dire principalement quand on ferme une Dialog (popup) ou bien quand on revient dessus depuis une autre activité : ex Activité B -> retour en arrière -> Activité A.

    Quand dans ton téléphone, tu mets ton appli en veille, puis tu la rappelles, normalement, l'application et par extension l'activité en cours ne sont pas recrées, mais à vérifier, car ca fait longtemps que je n'ai pas travaillé dessus. Il arrive que si le téléphone a besoin de ressources, il tue ce qui n'est pas utile. Ce qui implique de limiter les ressources associés aux appli en background et donc de recréer l'appli quand elle est rappelée.

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Par défaut
    Bonjour et merci pour ta réponse,
    typiquement, le lance mon application puis je fais un tour WhatsApp puis un peu de surf via Chrome et je remet mon application au premier plan.
    Je ne vois que le Log ""methode onCreate".
    Alors peut-être me trompe-je avec cette notion de retour au premier plan. J'utilise un Samsung Galaxy A3, avec le bouton droit j'ouvre les applications puis avec le bouton gauche je "refais passer au premier plan" l'application précédemment ouverte que je veux à nouveau utiliser.
    Le code présenté dans le premier message est incomplet, j'ai écrit le même genre de code pour voir si et quand je passe dans onPause(), onStop(), etc...
    Je ne vais pas trop me focaliser sur ce pb pour l'instant (si s'en est un), je continue mon développement et j'y reviendrai quand j'aurai un peu de temps.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/03/2014, 09h51
  2. Bien comprendre le rôle des IntentFilter
    Par wsp_ape dans le forum Android
    Réponses: 2
    Dernier message: 11/02/2013, 10h37
  3. Nom de domaine : pour bien comprendre
    Par joker vb dans le forum Domaines
    Réponses: 4
    Dernier message: 02/08/2008, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo