---
title: 性能与体验
summary: "小程序性能与体验优化总览，涵盖启动性能、运行时性能和用户体验优化的方向与参考指标。"
docType: default
tags: [性能与体验优化总览, 启动性能目录, 运行时性能目录, 体验优化目录]
questions:
  - 为什么小程序需要进行性能优化？
  - 小程序性能优化主要分为哪两个方向？
  - 启动性能优化包括哪些具体内容？
  - 运行时性能优化包括哪些具体内容？
  - 如何使用分析工具定位小程序性能问题？
  - 小程序性能优化的建议优先级是什么？
  - 小程序各项性能指标的参考值是多少？
---

# 性能与体验

## 为什么要进行性能优化

小程序的性能与用户体验密切相关。在使用小程序过程中，用户可能会遇到以下问题：

- **启动慢**：点击小程序后等待时间过长
- **页面卡顿**：滑动列表或操作时出现掉帧
- **响应延迟**：点击按钮后反馈不及时
- **白屏时间长**：页面内容迟迟无法展示

这些问题会严重影响用户的使用意愿，导致用户流失。随着小程序功能的迭代和页面的增加，性能问题会愈发突出。因此，开发者在实现功能的同时，也应投入精力进行性能优化，保障良好的用户体验。

## 性能优化的两大主题

小程序性能优化主要分为两个方向：启动性能和运行时性能。

### 启动性能

启动性能关注的是用户打开小程序到看到首屏内容的耗时。启动耗时越短，用户越快进入小程序，流失率越低。

启动性能优化主要包括：

- [启动流程介绍](/cn/miniapp/develop/ray/guide/optimization/startup/launch-process) - 了解小程序启动的各个阶段
- [代码包体积优化](/cn/miniapp/develop/ray/guide/optimization/startup/package-size) - 减小代码包大小，加快下载速度
- [代码注入优化](/cn/miniapp/develop/ray/guide/optimization/startup/code-injection) - 优化代码执行效率
- [首屏渲染优化](/cn/miniapp/develop/ray/guide/optimization/startup/first-render) - 加快首屏内容展示

### 运行时性能

运行时性能关注的是用户在使用小程序过程中的流畅度。良好的运行时性能让用户操作更顺滑，体验更好。

运行时性能优化主要包括：

- [合理使用 setData](/cn/miniapp/develop/ray/guide/optimization/runtime/setdata) - 优化数据更新方式
- [渲染性能优化](/cn/miniapp/develop/ray/guide/optimization/runtime/render) - 减少节点数、列表和动画的渲染开销
- [资源加载优化](/cn/miniapp/develop/ray/guide/optimization/runtime/resource) - 图片懒加载、格式和尺寸优化
- [内存优化](/cn/miniapp/develop/ray/guide/optimization/runtime/memory) - 避免内存泄漏和溢出

## 用户体验优化

除了性能优化，以下内容也会影响用户的整体体验：

- [多端适配](/cn/miniapp/develop/ray/guide/optimization/experience/adaptation) - 刘海屏、安全区域等适配方案
<!-- BOOKMARK: 新增主题适配体验优化  -->
## 如何开始优化

### 1. 使用分析工具定位问题

在进行优化之前，首先需要了解当前小程序的性能状况。可以优先使用 [启动时性能检测](/cn/miniapp/develop/ray/guide/optimization/analysis-tools/startup-performance) 和 [FPS 性能检测](/cn/miniapp/develop/ray/guide/optimization/analysis-tools/fps) 定位启动阶段与运行阶段的瓶颈，再结合 [体验评分](/cn/miniapp/develop/ray/guide/optimization/analysis-tools/experience-score) 做整体体验检查。

### 2. 按优先级进行优化

建议按以下优先级进行优化：

| 优先级 | 优化方向 | 原因 |
| ------ | -------- | ---- |
| 高 | 启动性能 | 直接影响用户进入小程序的意愿 |
| 高 | setData 优化 | 最常见的性能问题来源 |
| 中 | 首屏渲染 | 影响用户看到内容的时间 |
| 中 | 内存优化 | 避免小程序被系统回收 |

### 3. 持续监控

性能优化是一个持续的过程。建议在每次版本迭代后，使用分析工具检查性能指标，确保新功能没有引入性能问题。

## 性能指标参考

以下是建议的性能指标参考值：

| 指标 | 建议值 | 说明 |
| ---- | ------ | ---- |
| 启动耗时（首次） | < 3000ms | 包含代码包下载时间 |
| 启动耗时（非首次） | < 1500ms | 使用本地缓存的代码包 |
| FMP（首次有意义渲染） | < 2000ms | 用户可开始使用的时间 |
| FPS（帧率） | >= 30 | 低于 30 会有明显卡顿感 |
| setData 数据量 | < 100KB | 单次 setData 传输的数据大小 |
| 代码包体积 | < 2MB | 超出建议使用分包加载 |
| 体验评分 | >= 85 | 综合性能与体验的评估得分 |
