title: How does Paging 3.0 data caching differ from caching data from network in the Room database?
body: <p>As far as I know, one of the uses of Paging3 is to cache the data from the xxxPagingSource. Does it mean I don't have to cache my network calls anymore?</p>
  <blockquote>
  <p>In-memory caching for your paged data. This ensures that your app uses system resources efficiently while working with paged data. <a href="https://developer.android.com/topic/libraries/architecture/paging/v3-overview" rel="nofollow noreferrer">[...]</a></p>
  </blockquote>
  <p>Does it mean that if I have like a thousand of ItemUiStates I want page and display like 20 of them at once, do I not do the &quot;fetch_from_the_network&amp;save_in_room&amp;hope_it_notifies_ui&quot; behavior and rely on Paging3's caching?</p>
  <p>What about the &quot;single source of truth&quot;-principle? How should I organize my classes to use Paging, Retrofit and Room together? How do I introduce states like IN_PROGRESS, ERROR, OK?</p>