> 文档中心 > HarmonyOS应用开发:减少应用滑动白块cachedCount

HarmonyOS应用开发:减少应用滑动白块cachedCount

应用通过增大List/Grid控件的cachedCount参数调整UI的加载范围。cachedCount表示屏幕外List/Grid预加载item的个数。
如果需要请求网络图片,可以在item滑动到屏幕显示之前,提前下载好内容,从而减少滑动白块。
如下是使用cachedCount参数的例子:

@Entry@Componentstruct MyComponent {  private source: MyDataSource = new MyDataSource();  build() {    List() {      LazyForEach (this.source, item => { ListItem() {   Text("Hello" + item)     .fontSize(100)     .onAppear(()=>{console.log("appear:" + item)     }) }      })    }.cachedCount(3)  // 扩大数值appear日志范围会变大  }}class MyDataSource implements IDataSource {  data: number[] = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];  public totalCount(): number {    return this.data.length  }  public getData(index: number): any {    return this.data[index]  }  registerDataChangeListener(listener: DataChangeListener): void {  }  unregisterDataChangeListener(listener: DataChangeListener): void {  }}

使用说明: cachedCount的增加会增大UI的cpu、内存开销。使用时需要根据实际情况,综合性能和用户体验进行调整。