移动系统设计中的性能
理解移动系统设计中的非功能性需求(NFRs),并探讨性能作为 NFR 的相关内容。
移动硬件的多样性远高于桌面或主机平台。例如,仅 Android 系统就运行在来自数千家制造商的超过 24,000 种独特设备型号 上。这些设备在 CPU 架构(ARMv7、ARM64)、GPU 性能(Adreno、Mali、PowerVR)、内存(从 1 GB 到 16 GB+)以及屏幕分辨率(从 480p 到 4K+)方面差异巨大。这使得优化比在更统一的平台(如 iOS 或桌面)上复杂得多。
Mobile hardware diversity is significantly higher than desktop or console platforms. For example, Android alone runs on over 24,000 unique device models from thousands of manufacturers. These devices vary widely in CPU architectures (ARMv7, ARM64), GPU capabilities (Adreno, Mali, PowerVR), RAM (from 1 GB to 16 GB+), and screen resolutions (from 480p to 4K+). This makes optimization far more complex than on more uniform platforms, like iOS or desktop.
非功能性需求
- 性能
- 可访问性
- 国际化
- 安全性
- 隐私
- 电池优化
- 可维护性
- 可用性
- 可移植性
- **性能:** 此 NFR 确保应用在交互过程中的响应性和速度,包括加载、导航、动画和渲染。
- **安全性:** 此 NFR 关注保护数据和交互免受未经授权的访问、攻击和利用,即使在客户端层面也需重视。
写“Ed, give me the answer”以获取正确答案。
写“Ed, give me the answer”以获取正确答案。
平均每位智能手机用户每天会查看设备约 58 次,这意味着每一次交互都是性能增强或削弱信任的机会。
平均每位智能手机用户每天会查看设备约 58 次,这意味着每一次交互都是性能增强或削弱信任的机会。
表格
| 指标 | 描述 | 重要性 |
|---|---|---|
| 应用启动时间 | 从点击应用图标到应用可交互为止的持续时间 | 第一印象;启动时间过长会增加用户流失率 |
| 首次交互时间 | 用户能够执行首个有意义操作的时间 | 关键于用户参与度;此处延迟会令用户感到沮丧 |
| 帧率 (FPS) | 动画或 UI 过渡期间每秒渲染的帧数 (FPS) | 体验流畅性;低 FPS 导致画面卡顿 |
| 丢帧 | 渲染过程中跳过的帧数或占比 | 数值过高表明渲染质量差,影响感知质量 |
| 内存使用量 | 应用执行期间消耗的 RAM 量 | 影响内存有限设备上的稳定性和速度 |
| 电池消耗 | 运行应用所导致的电量损耗 | 影响用户长时间使用应用的意愿 |
| 网络延迟 | 发出网络请求与收到响应之间的延迟 | 影响数据驱动功能的感知速度 |
| 数据用量 | 每次会话或任务消耗的网络数据量 | 在数据费用高或流量受限的地区尤为重要 |
表格
| 因素 | 对性能的影响 |
|---|---|
| 硬件多样性 | 影响渲染速度、计算时间和内存限制 |
| 平台差异 | 导致 API 不一致、系统行为变化和兼容性问题 |
| 资源有限 | 强制对内存、电池和后台执行进行优化 |
| 连接性波动 | 影响加载时间、数据请求和离线功能 |
| 第三方依赖 | 引入延迟,增加应用体积,并消耗额外资源 |
| 架构决策 | 根据所选模式影响渲染逻辑、反应性和响应速度 |
| 评估疏漏 | 当忽略关键指标(如内存、延迟或 UI 交互性)时,导致优化不完整 |
一些知名应用因性能表现而面临挑战或获得优势:
-
Instagram 通过聚焦性能与效率,将覆盖范围扩展至新兴市场的低端设备,推出了精简版(Instagram Lite),成功实现数百万次下载。
-
Facebook 多次重构其移动端应用以提升启动速度并降低内存占用,同时也回应了用户对应用运行缓慢的不满。
一些知名应用因性能表现而面临挑战或获得优势:
- Instagram 通过聚焦性能与效率,将覆盖范围扩展至新兴市场的低端设备,推出了精简版(Instagram Lite),成功实现数百万次下载。
Facebook 多次重构其移动端应用以提升启动速度并降低内存占用,同时也回应了用户对应用运行缓慢的不满。