Middle+
WidgetsFlutterBinding чист ва ролаш дар барномаҳои Flutter чӣ гуна аст?
sobes.tech AI
Ҷавоб аз AI
WidgetsFlutterBinding — асосии пайвасткунандаи чаҳорчӯбаи Flutter мебошад. Ин синф singleton аст, ки намунаи он ҳангоми оғозёбии барнома эҷод мешавад. Вай пайвастшавиро байни муҳаррики Flutter (навишташуда дар C++) ва чаҳорчӯбаи Dart таъмин мекунад.
Функсияҳои асосии WidgetsFlutterBinding:
- Инициализация: Мотори Flutter-ро оғоз мекунад ва муҳити заруриро барои иҷрои барномаи Dart эҷод мекунад.
- Идоракунии давраи ҳаёт: Ҳолати ҳаёти барнома (масалан,
onResume,onPause) -ро сабт мекунад. - Ҳалли ҳодисаҳо: Ҳодисаҳои интерфейси корбар (тамос, ҳаракатҳо ва ғайра) аз муҳаррики Dart ба чаҳорчӯба барои коркарди widget-ҳо интиқол медиҳад.
- Синхронизатсияи сӯрохиҳо: Вай ҳамкории байни сӯрохиҳои интерфейси корбарии Dart ва сӯрохиҳои муҳаррики Flutter (OpenGL, Skia ва ғайра) -ро таъмин мекунад.
- Дастрасӣ ба хизматрасониҳо: Дастрасӣ ба хизматрасониҳои пасти сатҳ тавассути объектҳо ба монанди
PlatformDispatcher-ро таъмин мекунад.
Ин дар вақти даъвати runApp() ғайрирасмӣ эҷод мешавад. Дар ҳолатҳои кам, вақте ки ба танзимоти дақиқтар пеш аз оғозёбии барнома ниёз аст, онро метавон ба таври равшан эҷод кард:
void main() {
WidgetsFlutterBinding.ensureInitialized(); // Гарант мекунад, ки намуна эҷод мешавад
runApp(const MyApp());
}
Ҳамагон, WidgetsFlutterBinding нақши муҳимро дар кори Flutter бозӣ мекунад ва ҳамоҳангии мутақобилро байни сатҳҳои гуногуни чаҳорчӯба ва муҳаррик таъмин мекунад.