nativescript - 调用 builder.load 然后复制组件
问题描述
我目前正在使用 ui/builder 加载带有 xml 和 js 文件的组件,如下所示:
let component = builder.load({
path: 'pages/path/to/component',
name: 'component'
});
然后我将组件添加到现有视图中。这一切都很好,但我实际上调用了数百次,因为父级包含许多这些组件(类似于包含很多项目的中继器)。builder.load 方法是否每次都需要使用 xml/js 文件的路径调用,还是可以复制内存中的组件?以这种方式做事是否会带来性能优势,或者 nativescript 构建器是否已经保留了引用组件的缓存?
解决方案
这可能会影响性能,因为构建器每次都会解析 XML 以创建 JavaScript 实例,您可能会在第一次调用构建器后保留对返回组件的引用。
但它可能仍然会影响性能,因为您要加载 100 多个组件。您必须考虑ListView
根据需要使用它来回收未使用的视图。
如果您使用构建器/中继器,您实际上是在屏幕上创建了 100 个元素,当ListView
使用它时,它只会创建那些在屏幕上可见的元素。当您向下或向上滚动时,它将重用那些不在屏幕上的元素,从而大大提高性能。
推荐阅读
- angular - 从选择 Angular 8.2 中获取价值。(表单生成器)
- javascript - 有没有办法延迟弹簧直到图像加载?
- xsl-fo - 天线屋无效属性值:column-width="proportional-column-width(4%)"
- flutter - Flutter - 如何制作具有固定高度的自定义圆形标签指示器?
- generics - 为什么我不能在 Rc 中使用这个闭包
? - javascript - GraphQL 指令参数作为对象
- javascript - 如何将我的 react-native 项目中的 .js 文件移动到不同的目录
- floating-point - 在浮点数中,为什么符号位不在 23 位尾数旁边?
- javascript - 使用鼠标右键粘贴图像(粘贴选项)
- javascript - Firebase web:将多个文件上传到存储,然后下载它们的 URL