3

我正在将第 3 页与 Room 和RemoteMediator. 我没有设置 a maxSizePagingConfig这意味着无论我们滚动多远,我们都不应该丢弃页面。

fun getSearchResults(query: String): Flow<PagingData<NewsArticle>> =
        Pager(
            config = PagingConfig(pageSize = 50),
            remoteMediator = SearchNewsRemoteMediator(query, newsArticleDatabase, newsApi),
            pagingSourceFactory = { newsArticleDao.getSearchResultArticlesPaged(query) }
        ).flow

但是,我注意到当我滚动足够远时,Room 仍然会掉页。我在 logcat 中通过AdapterDataObserver.

onItemRangeRemoved start: 100 count: 100 end: 199

我的问题是:这是预期的行为,还是错误,还是我这边的一些错误?如果它是预期的行为,该maxSize属性是什么?我用一maxSize组值观察了我的数据,但它从未从数据库中删除任何条目。

编辑:我现在还注意到,如果我们正在查看缓存的离线数据,Room 不会丢弃页面为什么?我希望它的行为完全相同。

4

0 回答 0