Est-il normal pour la méthode « activity.onCreate () » pour être appelé plusieurs fois

StackOverflow https://stackoverflow.com/questions/3588682

  •  01-10-2019
  •  | 
  •  

Autres conseils

Outre les cas prévus, je constate que seules les activités (onCreate) sont appelés deux fois qui créent de nouveaux fil ou Runnable. (Je crois que ce bogue dans Android).

La solution est simple (si vous ne pouvez pas comme ça: p)

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash_screen);

        if(savedInstanceState == null){
            // everything else that doesn't update UI
        }
    }

Le dessous est un scénario que j'ai rencontré (et résolu) qui produit le comportement que vous décrivez:

Il y a 3 événements qui déclenchera OnTouch -. 1. 2. android.view.MotionEvent.ACTION_UP android.view.MotionEvent.ACTION_DOWN 3. android.view.MotionEvent.ACTION_MOVE

Souvent, tous les trois de ces événements se déclenchent en même temps pour déclencher l'auditeur OnTouch. Lorsque cet écouteur est utilisé pour lancer une activité (via une intention passée à startActivity ()), vous pouvez reproduire ce comportement qui remettrait OnCreate sur les multiples temps d'activité (3 dans cet exemple).

Si ce n'est pas ce type d'écouteur que vous utilisez pour démarrer l'activité, vous pouvez regarder dans la documentation de tout auditeur déclenche votre activité pour voir si vous rencontrez un scénario similaire. Les chances sont que non seulement un événement déclenche l'auditeur.

J'ai eu un problème similaire, il a été causé par MobileAds. Après que je les initialisés super.onCreate(...) avant que le problème a disparu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top