当前位置:网站首页>Flutter life cycle

Flutter life cycle

2022-07-06 22:56:00 Xiaobai is more than that

One 、Flutter The two main Widget

  1. StatelessWidget( Stateless component )

Stateless components are immutable , This means that their properties cannot be changed , All values are final . It can be understood as transforming the external incoming data into the content displayed on the interface , It will only render once . For stateless component lifecycles, there are only build This process .

The construction method of stateless components is usually called in only three cases : The widget is inserted into the tree for the first time , The parent component of the widget changes its configuration , And what it depends on InheritedWidget When something changes .

  1. StatefulWidget( Stateful component )

Stateful components may hold states in Widget Change in the life cycle , Is to define interaction logic and business logic . It can be understood as having a dynamic and interactive content interface , It will render multiple times according to the change of data .

StatefulWidget The class itself is immutable , however State Class in Widget There is always in the life cycle .StatefulWidget Store its variable state in the createState Method to create State In the object , Or stored in the State In the subscribed object .

Two 、StatefulWidget Life cycle

createState:
The function of StatefulWidget Created in State Methods , When StatefulWidget It will be executed immediately when it is created createState.createState After the function is executed, it indicates that the current component is already in Widget In the tree , There is a very important attribute here mounted Be set to true.

initState:
The function of State Initialize call , Will only be called once , therefore , Usually do some one-time operations in this callback , Such as implementation State Initial assignment of each variable 、 Subscribe to event notifications for subtrees 、 Interact with the server , After receiving server data, call setState To set up State.

didChangeDependencies:
The function is The component depends on State Is called when it changes . here State by overall situation State, For example, system language Locale Or application theme, etc ,Flutter The framework will inform widget Call this callback . After this method is called , The state of the component changes to dirty, Call immediately build Method .

build:
Mainly Returns the image to render Widget, because build Will be called many times , Therefore, only returns can be made in this function Widget Related logic , Avoid state exceptions caused by multiple executions .
Use scenarios :
a. Calling initState() after .
b. Calling didChangeDependencies() after .
c. Calling setState() after .
d. Calling didUpdateWidget() after .
e. stay State After the object is removed from a location in the tree ( Would call deactivate) Reinsert again Enter into After going to other places in the tree .

reassemble:
The main Use during development , stay debug In mode , This function is called for each hot overload , So in debug The stage can be increased during this period debug Code , To check for code problems . This callback stay release Mode will never be called .

didUpdateWidget:
This function is mainly used in Component rebuild , For example, thermal overload , The parent component build Under the circumstances , This method will only be called by the subcomponent , secondly After this method is called, it must call build Method .

deactivate:
After the node of the component is removed, it will be called , If the component is removed, the node , then When not inserted into other nodes , Will continue to call dispose Permanently removed .

dispose:
Permanently remove components , And release component resources . Call complete dispose after ,mounted Property is set to false, On behalf of The end of the component life cycle .
 Insert picture description here
 Insert picture description here
It can be roughly divided into four stages :
(1) Initialization phase , Includes two lifecycle functions createState and initState;
(2) Component creation phase , Include didChangeDependencies and build;
(3) Trigger the component more than once build , This stage may be due to didChangeDependencies、 setState perhaps didUpdateWidget And the resulting component re build , It will be triggered many times during the operation of the component , This is also a key point in the optimization process ;
(4) The last stage is the component destruction stage ,deactivate and dispose.

This reference article is as follows :
interviewer : know Flutter Life cycle ? Come on next week !

State Life cycle

原网站

版权声明
本文为[Xiaobai is more than that]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202131042125716.html