flutter填坑之旅(flutter頁面生命周期篇)


一、初始化時期

1、createState


	///構建一個StatefulWidget時,會立即調用該方法(必須重寫)
  @override
  _WidgetLifecycleState createState() => _WidgetLifecycleState();
  

2、initState


 /// 在創建widget時調用的除構造方法外的第一個方法
 /// 在這個方法中通常會做一些初始化工作,比如channel的初始化,監聽器的初始化等
  @override
  void  initState(){
    super.initState();
  }
  

二、更新時期

1、didChangeDependencies


  ///當依賴的State對象改變時會調用
  ///1、在第一次構建widget時,在initState()之后立即調用此方法
  ///2、 如果StatefulWidgets依賴與InheritedWidget,那么當當前State所依賴InheritedWidget中的變量改變時會再次調用它
  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
  }
  

2、build


  ///這是應用必須實現的方法,頁面所要呈現的內容就在此了
  ///它會在didChangeDependencies()方法之后調用
  ///另外當調用setState()后也會再次調用該方法
  @override
  Widget build(BuildContext context) {
  	return Container();
  }
  

3、didUpdateWidget


	///這個生命周期方法使用的時候很少,只當父組件需要重繪時才會調用
  @override
  void didUpdateWidget(WidgetLifecycle oldWidget) {
    super.didUpdateWidget(oldWidget);
  }
  

三、銷毀期

1、deactivate


  ///這個也很少使用,只在組件被移除時調用,並在dispose()之前調用
  @override
  void deactivate() {
    super.deactivate();
  }
  

2、dispose


  ///該生命周期方法很常用,一旦組件被銷毀就會調用:
  ///通常在該方法中執行一些資源的釋放工作比如,監聽器的卸載,channel的銷毀等操作
  @override
  void dispose() {
    super.dispose();
  }
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM