Gibt es eine grafische Darstellung des Lebenszyklus von Android-Ansichten (ein Zustandsdiagramm)? [geschlossen]

77

Wir alle wissen um die Android - Lebenszyklus Aktivität und Lebenszyklus Fragment s. Aber gibt es etwas Äquivalentes für Ansichten?

Dies kann beispielsweise dazu beitragen, benutzerdefinierte Ansichten zu erstellen oder einen sehr häufigen und häufig versteckten Grafikvorgang unter Android genauer zu betrachten.

Danke im Voraus !

Snicolas
quelle
4
Dies ist keine direkte Antwort, wie andere bereits geantwortet haben, aber ich lade Sie ein, sich LogLifeCycle anzuschauen, um zu verstehen, was in Ihren Android-Apps in Bezug auf Lebenszyklen passiert.
Snicolas

Antworten:

69

Es ist kein offizielles Dokument, aber es wurde kürzlich auf Google+ veröffentlicht. Die Kommentare haben auch eine gute Diskussion mit einigen detaillierten Erklärungen.

Raghav Sood
quelle
6
Was ist mit onSaveInstanceState / onRestoreInstanceState?
mbmc
1
Weitere Informationen bei Android View Lifecycle
Eido95
stackoverflow.com/a/45819981/1124942 Dies zeigt den auf meinem Gerät (Sony Z1 Compact) getesteten Android-Aktivitätslebenszyklus und Android View-Lebenszyklus
Afrig Aminuddin
1
"Google+ ist nicht mehr für Verbraucher- (persönliche) und Markenkonten verfügbar", deshalb sollten Antworten nicht nur ein Link sein
Ultimo_m
5
Verwenden Sie meinen Link github.com/dbof10/android-view-lifecycle
Ken Zira
12

Hier habe ich eine benutzerdefinierte Ansicht erstellt, die die Ansicht erweitert. Dann schrieb Protokolle in jeder Methode. Hier ist die Reihenfolge der aufgerufenen Methoden:
Bei der Ausführung Debuggen
setOverScrollMode
setOverScrollMode
onFinishInflate
setLayoutParams
getLayoutDirection
requestLayout
hasFocus
hasTransientState
getVisibility
getLayoutDirection
getLayoutDirection
canResolveLayoutDirection
getLayoutDirection
canResolveTextDirection
isLayoutDirectionResolved
isLayoutDirectionResolved
getLayoutDirection
getLayoutDirection
isLayoutDirectionResolved
isTextDirectionResolved
isTextAlignmentResolved
getLayoutDirection
jumpDrawablesToCurrentState
jumpDrawablesToCurrentState
jumpDrawablesToCurrentState
jumpDrawablesToCurrentState
jumpDrawablesToCurrentState
jumpDrawablesToCurrentState
getVisibility
onAttachedToWindow
jumpDrawablesToCurrentState
getBackground
IsFocused
isShown
onVisibilityAggregated
refreshDrawableState
drawableStateChanged
onCreateDrawableState
IsFocused
hasWindowFocus
getVisibility
onMeasure
getSuggestedMinimumWidth
getSuggestedMinimumHeight
getVisibility
getVisibility
onMeasure
getSuggestedMinimumWidth
getSuggestedMinimumHeight
getVisibility
getVisibility
Layout
Isopaque
OnSizeChanged
getBackground
Isopaque
getMatrix
Isopaque
isHardwareAccelerated
GETZ
getElevation
getTranslationZ
onLayout-
getVisibility
getAnimation
getLayerType
getLayerType
computeScroll
zeichnen
OnDraw
dispatchDraw
onDrawForeground
hasOverlappingRendering
dispatchWindowFocusChanged
onWindowFocusChanged
refreshDrawableState
drawableStateChanged
onCreateDrawableState
isFocused
hasWindowFocus

Eröffnungsaktivität mit dieser Ansicht:
onScreenStateChanged
getLayoutDirection
getAnimation
getLayerType
getVisibility
getVisibility
getVisibility-
Layout
getVisibility
dispatchWindowFocusChanged
onWindowFocusChanged
refreshDrawableState
drawableStateChanged
onCreateDrawableState
isFocused
hasWindow

Evgenii Vorobei
quelle