inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter 중급 1편 - 클린 아키텍처

31 DI 설정

DI 설정

312

­이건민[소프트웨어학부]

작성한 질문수 3

0

provider_setup 파일과 MultiProvider사용으로 앱 전역적으로 프로바이더를 사용할 수 있게하셨는데

이렇게 되면 MyApp아래 모든 파일에서 같은 provider를 공유하고 있는데 이런 방식보단 해당 provider를 사용하게 될 위젯들의 상위 context에서만 선언을 해주는 것이 좋지 않나요? 메인 바로 아래 선언해주는 방식이 실제 앱실행시 계속해서 메모리를 잡아먹는 부담같은 건 없나요??

android Flutter ios

답변 1

1

오준석

지금은 ViewModel 이 모두 싱글턴입니다.

말씀하신 대로 필요한 곳의 상위에 provider를 설정하면 해당 화면을 띄울 때 마다 새로 ViewModel이 생성되게 됩니다.

싱글턴이라 메모리를 항상 잡아먹고 있는데 이건 미미한 크기라 크게 문제가 되지 않습니다.

그런데 현재는 메모 작성 화면에 들어갈 때 마다 새로 ViewModel이 생성되는 것이 맞지만 한번 생성된 ViewModel이 공유되기 때문에 마지막에 선택한 색상이 유지되는 이슈가 있습니다.

말씀하신 방법대로 수정하시면 이 이슈도 수정됩니다.

필요한 부분에 provider를 설정하여 문제를 해결할 수 있지만, 더 나은 방법이 있기 때문에 이러한 문제를 효율적으로 해결하는 DI 심화 강의를 기획중입니다.

MVVM, 클린 아키텍처 관련 질문 있습니다.

0

87

2

가끔씩 ui가 깨지는? 현상이 있어서 질문드립니다.

0

95

1

freezed 3.0 대응된 코드 깃헙에도 업데이트 해주실 수 있으신가요?

0

182

3

sealed class 사용시 기능은 동작하지만 Radio위젯에 선택 표시가 안되는 부분 질문

0

123

2

sealed class 사용시 The getter 'orderType' isn't defined for the type 'NoteOrder<dynamic>' 오류

0

96

2

유즈케이스 관련하여 질문 드립니다.

0

93

1

mockito사용시 오류 해결법

1

123

2

sealed class 사용 문의2

0

78

2

sealed class 사용 문의

0

120

2

freezed3.0에서 build시 when생성되지 않습니다.

0

264

2

Try implementing the missing methods, or make the class abstract. 문제해결 공유

0

238

2

This is likely caused by a misconfigured builder definition. 오류 해결 방법

1

319

3

강의 화면이 안보여요

0

138

3

Flutter에서 추천하는 Navigator, Router

0

324

2

The following ProgressEvent object was thrown resolving an image codec: [object ProgressEvent]

0

325

3

event와 ui_event

0

212

1

코드 색깔 관련 질문

0

208

1

Photo.fleezed.dart,photo.g.dart삭제시 에러

0

206

2

sealed class 적용 시...

0

327

1

클린 아키텍처 질문

0

309

1

sealed class 데이터 접근

0

328

1

서버에서 데이터를 가져와서 사용하는 경우...

0

235

1

뷰/뷰모델 작성 질문

0

273

1

freezed JsonKey 사용 예시 공유

1

792

1