로더가 있습니다. 기본 데이터 모델이 변경 될 때만 시작하고 싶습니다. 나는 로더의 요점으로 이해했다. 안드로이드 문서에서 :활동 시작시 로더가 다시 시작됩니다.
로더는, 특히 CursorLoader에서 정지 후 데이터 를 유지할 것으로 예상된다
. 이를 통해 응용 프로그램은 데이터를 작업 또는 조각의 onStop() 및 onStart() 메서드에 유지할 수 있으므로 사용자가 응용 프로그램으로 돌아올 때 데이터를 다시로드 할 때까지 기다릴 필요가 없습니다.
우수. 그러나 내 활동이 재개 될 때마다 내 loader onStartLoading()이 호출됩니다. 플랫폼 코드로 디버깅하면 Activity.onStart()를 구현하면 모든 로더가 다시 시작됩니다. 특히 호출 스택은 내가 내 활동이 다시 시작될 때 다시로드하지 않도록
Activity.onStart() -->
FragmentController..doLoaderStart() -->
FragmentHostCallback.doLoaderStart() -->
LoaderManagerImpl.doStart() -->
LoadermanagerImpl.LoaderInfo.start() -->
Loader.startLoader() -->
<my loader>.onStartLoading()
내 로더는 비용이 많이 드는이며, 이것은 특별히 로더가 유지 해야하는 것을 주장하는 위의 인용에 갈 것 같다 그들의 데이터는 정지/시작 사이클을 가로 지른다.
의미가 있습니까?
그냥 팁. 로더보다는 라이프 사이클 구성 요소를 사용하여 실제로 조사해야합니다. 다음은 Loader, Lifecycle 및 state : https : // medium에 대한 자세한 설명입니다.co.kr/google-developers/viewmodels-persistence-onsaveinstancestate-restore-ui-state-and-loaders-fc7cc4a6c090 – Peter
'getLoaderManager.initLoader()'를 (를) 호출하는 위치를 공유 할 수 있습니까? – chessdork
로더에서 아키텍처 구성 요소로의 변환에 관한 블로그 게시물 (https://medium.com/google-developers/lifecycle-aware-data-loading-with-android-architecture-components-f95484159de4) – ianhanniballake