Go to Flamingo 안드로이드 스튜디오를 사용하다 보면 여러가지 버전을 만나게 된다. 혼자서 개발을 진행하거나 규모가 작은 스타트업에서 개발을 진행할때에는 안드로이드 스튜디오의 새로운 버전이 나올때마다 계속해서 업데이트를 진행했었다. 체감상 한달에 한번정도씩은 마이너 버전 업데이트부터 가끔씩 이름이 바뀌는 대규모 메이저 업데이트까지 다양하게 이루어졌었다. 그때는 그게 행복인줄 몰랐었다. 하지만 현 회사에서는 그게 어려웠다. 왜 버전업데이트 안해? “혼자서 개발을 진행하거나 규모가 작은 스타트업” 에서는 가능할 수도 있다. 혹은 회사에서 버전에 대한 업데이트를 중요하게 생각하여 사용하는 라이브러리들을 항상 최신화 시키거나 아니면 은행과 같이 써드파티 라이브러리를 사용하는것이 부담스러워서 프로젝트에 여러가지 라이브러리를 사용하지 않는 경우도 가능하다고 말할수 있다. 하지만 꽤(?)많은 규모가 어느정도 있고 연력이 있는 회사들은 앞선 전임자들의 레거시와
개발을 진행하다 보면 특정 상황에 따라서 화면 전체가 아닌 특정 뷰에 대한 업데이트를 진행해야 할 경우가 종종 발생합니다. Android에서 UI 업데이트를 수행할 때, requestLayout() 및 invalidate() 메서드가 사용됩니다. 이 두 메서드는 UI 업데이트를 수행할 때 사용되지만, 각각 다른 방식으로 동작합니다. requestLayout() requestLayout() 메서드는 View의 레이아웃을 갱신하기 위해 호출됩니다. 즉, View의 크기나 위치가 변경되었을 때 호출됩니다. 이 메서드는 View의 크기나 위치가 변경되면 View의 부모 ViewGroup에게 레이아웃 갱신을 요청합니다. 그리고 ViewGroup이 다시 자식 View의 크기와 위치를 계산하여 레이아웃을 다시 그립니다. 따라서, requestLayout() 메서드는 View의 레이아웃을 갱신하고 다시 그리는 데 사용됩니다. invalidate() invalidate() 메서드