阅读(1937) (0)

最佳实践

2020-12-28 17:00:16 更新

一套代码打造多端应用是一个不错的开始,如果您希望为用户提供尽可能好的体验,下一步是最大限度地提高应用的性能。 本部分为您提供所需的专业知识,以使您的应用程序性能卓越。继续阅读将帮助您如何构建响应迅速,高效且行为良好的应用。

数据定义优化

data里面的数据在每次变化时都会进行比对,然后再更新视图,因此不必要的数据可以直接定义在组件或global下,不用定义在data里面,以减少数据比对,提高页面响应性能。

默认导航栏的使用

如果您的项目只需要支持App端,不需要支持多端,那么对于导航栏定制要求不高的页面,我们依然推荐您使用TabLayout的导航栏。虽然可以非常简单地通过组件自己实现导航栏,也不会像window + frame布局那样增加内存占用,但是自定义导航栏还是有js解析、布局计算等过程,而且还需要处理安全区域问题,使用TabLayout则会体验更加极致。

长列表的使用

在App端,长的列表应该使用list-view这类带回收复用功能的列表,这类列表只渲染屏幕上可见范围内的几项,在滚动过程中回收移出屏幕外的项,这样就大幅减少了内存占用,即使有成千上万条数据也不会影响性能。

优化列表滚动性能

list-view这类列表不是一次性渲染出所有项,而是在滚动过程中动态地刷新数据和渲染,要做到滚动流畅不卡顿,需要注意以下几方面:

1、避免使用大图

图片加载对滚动性能影响最大,因此应该避免在列表项中加载使用大图。而且不仅是在列表中,其它地方也应避免直接加载大图。

2、为元素指定宽高

如果明确知道某元素的尺寸,则应为其指定宽高,减少布局计算耗时。比如一个固定内容的文本,虽然不指定宽高也可以通过其内容计算出尺寸,但显然会耗费更多的时间。

3、减少节点嵌套层级

尽量减少嵌套层级,层级越深,计算布局和系统渲染时开销越大。

如何最大限度兼容小程序

1、尽可能少的或者不引用外部css、js文件,将页面涉及的内容完全包含在template、script、style代码块中,这将更有利于编译器编译小程序代码以及提升兼容能力

2、不建议使用模块或者大多数API,小程序平台几乎不具备APICloud绝大部分模块及API的能力。建议通过在一个项目中区分管理,使用stml方式分别编写App端和小程序端

3、list-view、frame等是专为App打造的组件,更匹配Android和iOS系统的原生特性,小程序中应避免使用,而是使用v-for指令或者scroll-view等进行替代