Junior — Middle
Wird beim Aufruf der Methode requestLayout() unbedingt die Methode onDraw() aufgerufen?
sobes.tech KI
Antwort von AI
Der Aufruf der Methode requestLayout() garantiert nicht einen sofortigen Aufruf von onDraw().
requestLayout() initiiert die Neuberechnung der Position und Größe der View, was zu einem Aufruf von onMeasure() und onLayout() führt. Nach erfolgreichem Abschluss dieser Schritte entscheidet das System, ob die View neu gezeichnet werden muss, und ruft in diesem Fall onDraw() auf.
Daher wird onDraw() nicht unbedingt sofort nach requestLayout() aufgerufen, sondern nur wenn Änderungen eine Neuzeichnung erfordern.
Wenn Sie eine Neuzeichnung erzwingen möchten, ohne Größe oder Position zu ändern, verwenden Sie invalidate(), das direkt zu einem Aufruf von onDraw() führt.