Yas*_*svi 5 android android-architecture-components
我试图在我的应用程序中集成架构组件,即分页、LiveData、ViewModel。Room 之前已经集成和测试过,所以我可以DataSource.Factory<Integer, DbEntity>从我的 DAO 类中返回一个。这是我创建 PagedList LiveData 的代码:
PagedList.Config pagedListConfig =
(new PagedList.Config.Builder()).setEnablePlaceholders(true)
.setPrefetchDistance(5)
.setPageSize(10)
.setInitialLoadSizeHint(10)
.build();
LiveData<PagedList<DbEntity>> dbEntities = new
LivePagedListBuilder<>(DAO.getItemList(timeNow), pagedListConfig).build();
Run Code Online (Sandbox Code Playgroud)
我正在我的片段类中观察这个实时数据:
viewModel.dbEntities.observe(this, new Observer<PagedList<DbEntity>>() {
@Override
public void onChanged(@Nullable PagedList<DbEntity> inboxEntities) {
adapter.submitList(inboxEntities);
}
});
Run Code Online (Sandbox Code Playgroud)
问题是绘制列表的时间太长,似乎列表中的所有项目 (1300) 都是在第一次绘制时绘制的。
我在两个地方验证了这一点:onChanged在 PagedList 大小等于 1300onBindViewHolder的情况下被调用,并且适配器被调用到 1300 以内的所有位置。
我在这里做错了吗?
| 归档时间: |
|
| 查看次数: |
2047 次 |
| 最近记录: |