Skip to content

[REF] Retain API를 활용한 개선 #625

@angryPodo

Description

@angryPodo

What is this issue? 🛠

Retain API가 업데이트 되어 정식 릴리즈에 포함되었습니다!
공식문서에서 어떤 기능이 있는지 확인 바랍니다.

현재 우리 앱은 rememberSavable을 사용하지 않습니다. 때문에 화면전환 시 remember로 선언된 상태가 초기화 되기 때문에 화면 전환을 제한했습니다. (Android 16에서는 넓은 기기의 경우 화면 제한을 무시합니다)
물론 모든 화면은 ViewModel을 가지고 있습니다. 따라서 ViewModel에 저장된 상태는 config change에 영향이 없습니다.
그러나 몇몇 컴포넌트는 자체 상태를 가지고 있기 때문에 retain을 도입해 화면 전환을 제공하고(태블릿 유저에게 UX가 올라갈 것 같습니다)
화면 이동에 대한 상태관리를 용이하게 해보는걸 목표로 해봅니다.

화면이동에 대해서 자세히 말해보면, retain을 사용하면 화면이 전환되어도 이전 화면의 상태가 살아있습니다. 때문에 A - B - A로 이동했을때 A의 init 호출을 방지 할수있습니다. 최적화가 가능하다는 뜻이죠ㅎㅎ
이런식으로 프로젝트 전반에서 적용해보면 좋을 것 같습니다.

여담이지만 점점 ViewModel을 제거하려는 의도로 해석되기도 하네요🤔

Progress 🏃‍♀️

  • [ ]

Metadata

Metadata

Assignees

Labels

REFACTOR🧽기능 동작은 유지하되, 앱 로직(프로덕션 코드)의 구조와 품질을 개선🍀민재민재 담당

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions