파파비의 블로그
플러터, flutter) Widget Tree의 Build() 관련 최적화 본문
반응형
<1. const를 통해 rebuild(re initialize) 되는 것을 없애기>
widget tree를 다시 빌드하는 것이 비용이 많이 들지는 않지만, 어떤 위젯들은 절대 바뀌지 않는데도 다시 그려지면 그것은 낭비라고 할 수 있습니다. 우리는 조건을 충족하는 위젯들에 한해서 build가 실행되어도 다시 build가 되도록 하지 않게 할 수 있습니다. 위젯을 생성할 때 앞에 const 를 붙여주면 됩니다.
이런식으로 말이죠.
당연히 해당 위젯은 stateless여야하고, 생성자의 값이 시종일관하여 앱이 끝날 때까지 변하지 않는 그런 위젯이어야합니다.
생성자에 들어가는 인자의 값이 dynamic하면 앞에 const를 붙일 수 없습니다.
이 chartbar 위젯은 stateless지만, 들어가는 값들이 map의 value들이라서 dynamic합니다. 따라서 앞에 const를 붙일 수가 없습니다.
마지막으로 아직 정확히 확인이 안된 상황인데,
조건을 충족하는 위젯들이 생성자를 정의할 때, 그 앞에도 const를 필수적으로 붙여야하는지 마는지는
확인이 안됐습니다.
<2. 앱을 잘게 잘게 쪼개기>
하나의 위젯에 코드가 길어지고 굉장히 커지면 작게 나누었을 때보다 rebuild되는 위젯들이 많아 질 수 있음.
그래서 무조건 위젯들을 잘게 쪼개주는 게 시각적으로나 퍼포먼스적으로 좋음
반응형
'개발 > flutter' 카테고리의 다른 글
플러터, flutter) App의 LifeCycle (0) | 2020.05.28 |
---|---|
플러터, flutter) Widget의 LifeCycle (0) | 2020.05.28 |
플러터, flutter) 플러터 이해하기 - Widget, Element, Render Tree & context (0) | 2020.05.28 |
플러터, flutter) 운영체제 파악하기 & adaptive 한 위젯 만들기 (0) | 2020.05.27 |
플러터, flutter) 방향 상관없이 사이즈에 따라 위젯 다르게 설정하기 (0) | 2020.05.27 |
Comments