NativeScript virtualScroll在庞大的列表中

时间:2017-08-14 07:16:03

标签: nativescript angular2-nativescript

事先我使用Ionic作为我的跨平台应用程序。使用Angular重复时,巨大的列表中存在性能和内存问题。

但离子有一个名为virtualRepeat(或v1.x中的collection-repeat)的功能。但它有很多错误,无法使用。

NativeScript中是否有这样的功能? (不得在列表中保留所有元素,并且当用户滚动更改列表时。)React Native中提供了相同的功能。

我还拍了一段截图视频进行演出。起初我有20个项目。然后为了在滚动中加载更多,我加载了一个非常庞大的列表。然后,看结果:

https://www.youtube.com/watch?v=220FS2SqLqI

2 个答案:

答案 0 :(得分:2)

在Nativescript中,您将需要使用ListView而不是ngFor或其他重复技术,Listview重用视图并减少大列表的内存使用量

实施例

<ListView [items]="myItems">
   <template let-item="item">
       <StackLayout>
          <Label [text]='item.name'></Label>
       </StackLayout>
    </template>
</ListView>

链接文档/更多示例:

https://docs.nativescript.org/angular/ui/list-view.html

答案 1 :(得分:0)

最后我发现,它使用了虚拟化。我运行了这个命令:

tns debug android

然后我就能看到chrome dev工具中的元素:

enter image description here

它仅使用少量元素,而滚动则会更改它们。