Je crois que onAttachedToWindow est appelé lorsque la fonction setContentView(R.layout.myLayout.xml)
de onCreate est appelée. Je peux donc supposer que, dans le cycle de vie de l'activité, onDetachedFromWindow est appelée lorsque l'activité est détruite. Ma question est la suivante: comment lier ces deux crochets de rappel au cycle de vie des activités?
puis-je dire que onAttachedToWindow est lié à onCreate et onDetachedFromWindow est lié à onDestroy?
Techniquement parlant, onAttachedToWindow
est appelé après onResume
(et cela ne se produit qu'une seule fois) cycle_appel .ActivityThread.handleResumeActivity
ajoutera DecorView
à la WindowManger
courante qui appellera à son tour WindowManagerGlobal.addView()
qui traversera toutes les vues et appellera onAttachedToWindow
.
onDetachedFromWindow
est à égalité avec onDestroy
Je trouve qu'il est possible que onAttachedToWindow
soit appelé quand setContentView
est appelé.
Lorsque vous utilisez un écran partagé sur Android N et que vous définissez la valeur configChanges
de l'activité dans AndroidManifest.xml
:
"keyboardHidden|orientation|screenSize"
onAttachedToWindow
sera appelé dans setContentView
, car la variable "mAttachInfo" dans le décorview de window n'est pas nulle lorsque vous appelez setContentView
pour ajouter rootView
à decorView
, dispatchAttachedToWindow
est appelé dans addViewInner()
.
Enfin, après l'activité onResume()
, onAttachedToWindow()
n'est plus appelé.