我目前正在使用ui / builder来加载具有xml和js文件的组件,如下所示:
let component = builder.load({
path: 'pages/path/to/component',
name: 'component'
});
然后将组件添加到现有视图。一切正常,但实际上我最多调用了数百次,因为父级包含许多这些组件(类似于包含很多项目的转发器)。每次都需要使用xml / js文件的路径来调用builder.load方法,还是可以复制内存中的组件?以这种方式执行操作是否会对性能产生好处,或者nativescript构建器是否已经保留了引用组件的缓存?
答案 0 :(得分:0)
这可能会降低性能,因为构建器每次都会解析XML来创建JavaScript实例,您可以在首次调用builder后保留对返回组件的引用。
但是当您要加载100个组件时,性能仍然会受到影响。您必须考虑使用ListView
来根据需要回收未使用的视图。
如果使用生成器/转发器,则实际上是在屏幕上创建100个元素,而使用ListView
时,它只会创建在屏幕上可见的元素。当您上下滚动时,它将重用屏幕外的元素,从而大大提高了性能。