Junior
Miks nimetatakse Flutter vidžeteid kergeteks komponentideks?
sobes.tech AI
Vastus AI-lt
Widgets Flutteris kirjeldavad ainult UI elemendi praegust konfiguratsiooni, mitte iseenda eksemplari. Kui seisund muutub, rekonstrueeritakse widgetid, luues uue eksemplari, kuid Dart VM võrdleb tõhusalt vana ja uue widgeti ning uuendab ainult neid renderduspuu osi, mis on tõeliselt muutunud. See võimaldab vältida kulukaid operatsioone natiivsete UI elementide loomisel ja eemaldamisel ning muudab need "kergeks".
- Muutumatud: Widgetid on muutumatud, mis lihtsustab nende võrdlemist ja taaskasutust.
- Deklaratiivne lähenemine: UI kirjeldus widgetidena on deklaratiivne, tagades kõrge jõudluse muudatuste ajal.
- Tõhus diffing algoritm: Flutter kasutab optimeeritud algoritmi, et kiiresti võrrelda widgete ja uuendada UI.
Näide lihtsa tekstivajutise loomise kohta:
// Widgeti objekti loomine
Text(
'Tere, maailm!', // Widgeti konfiguratsioon
style: TextStyle(fontSize: 20.0),
);
Teksti muutmisel luuakse uus Text-objekt uue konfiguratsiooniga, kuid renderdamine uuendatakse tõhusalt.