Android view-onAttachedToWindow и onDetachedFromWindow-когда они вызываются в жизненном цикле активности?
Я считаю, что onAttachedToWindow вызывается, когда onCreate setContentView(R.layout.myLayout.xml)
называется. итак, могу ли я предположить, что в жизненном цикле действия onDetachedFromWindow вызывается при уничтожении действия? Мой вопрос в том, как связать эти два крючка обратного вызова с жизненным циклом действий?
могу ли я сказать, что onAttachedToWindow привязан к onCreate, а onDetachedFromWindow привязан к onDestroy?
2 ответов
технически onAttachedToWindow
вызывается после onResume
(и это происходит только один раз в perlifecycle).
ActivityThread.handleResumeActivity
вызов будет добавить DecorView
в течение WindowManger
, который, в свою очередь, называют WindowManagerGlobal.addView()
который, чем пересечь все виды и вызвать onAttachedToWindow
на каждый вид.
onDetachedFromWindow
связана с onDestroy
я считаю, что это возможно onAttachedToWindow
будет вызываться, когда setContentView
называется.
при использовании разделенного экрана на Android N, и значение configChanges
деятельности в AndroidManifest.xml
неисправности:
"keyboardHidden|orientation|screenSize"
onAttachedToWindow
будет вызван в setContentView
, потому что переменная "mAttachInfo" в decorview окна не имеет значения null, когда вы вызываете setContentView
добавить rootView
to decorView
, dispatchAttachedToWindow
называется addViewInner()
.
наконец-то после активности onResume()
, onAttachedToWindow()
не вызывается.