文档章节

一.移动应用的性能

阿元
 阿元
发布于 2017/04/28 16:30
字数 718
阅读 16
收藏 0

目标:把APP体验做到极致

1.颜值->UI设计 2.性能->2.1更短的等待时间 2.2更平滑的流畅体验 2.3更低的内存使用 2.4更少的电量消耗

1.性能指标

1.1内存

内存消耗-->导致异常崩溃。

1.2电量消耗

计算CPU周期,高效使用硬件等。

1.3初始化时间

合理利用懒加载

  • 检查应用是否首次启动
  • 检查用户是否登陆
  • 如果用户已经登录,竟可能载入之前离开时的状态
  • 连接服务器以更新最新的变更
  • 检查应用是否由某个深层链接唤起,如果是,还需要载入深层链接相应的UI和状态
  • 检查是否存在应用上次启动时挂起的任务,需要时恢复他们
  • 初始化后续需要使用的对象和线程池
  • 初始化依赖项(如对象关系映射,崩溃报告系统和缓存)

1.4执行速度&&响应速度

1.5本地存储

离线模式,并可主动清除数据

1.6互操作性

实现应用间的互操作性和数据共享:UIActivityViewController,深层链接,MultipeerConnectivity框架

1.7网络环境

  • 高带宽稳定网络
  • 低带宽稳定网络
  • 高带宽不稳定网络
  • 低带宽不稳定网络
  • 无网络

1.8带宽

根据不同带宽进行优化

1.9数据刷新

后台周期性刷新数据,在线聊天类应用.

1.10多用户支持

如果支持多个并发用户,参考一下准则

  • 添加新用户应尽可能高效。
  • 在不同用户之间更新应尽可能高效。
  • 在不同用户之间切换应尽可能高效。
  • 用户数据的界限应该简洁且没有BUG。

1.11单点登录

支持跨应用的数据共享,以及分享状态,跨应用同步

1.12安全

数据加密

1.13崩溃

崩溃报告,检测,分析

2.应用性能分析

2.1采样

以一定的周期间隔采集状态。

2.2埋点

通过修改代码,记录细节信息的埋点能够提供比采样更加精确的结果。

3.测量

3.1设置工程与代码

3.1.1构建与发布

确保能够轻松的构建和发布应用:CocoaPods依赖库

3.1.2可测试性

模拟数据(模拟真实环境的隔离环境)和真是数据上工作 单元测试:验证每个代码单元在隔离环境下的操作。 功能测试:验证组件在最终集成的安装包中的操作。

3.1.3可跟踪性

埋点。

3.2设置崩溃报告

移动数据统计平台崩溃报告系统如:友盟,BugTags,Flyrry

3.3对应用埋点

了解用户行为的重要步骤

3.4日志

CocoaLumberjack

© 著作权归作者所有

共有 人打赏支持
上一篇: 十四.iOS10新特性
下一篇: Plist文件操作
阿元
粉丝 5
博文 163
码字总数 108443
作品 0
浦东
程序员
私信 提问
关注移动Web应用性能问题(上)

移动平台逐渐成为客户端应用的主流载体之一,为了消除应用在不同移动平台的兼容性,采用Web形式开发移动应用成为潮流(当然特别依赖于原生功能和 性能的应用,如游戏可能例外)。随着Web移动...

墙头草
2011/04/02
0
0
云智慧透视宝对接AppCan 把脉App性能

  随着移动互联网的成熟和普及,网络随身美梦成真,基于移动互联网的生活服务,如移动购物、O2O、导航、即时社交等,在短短的几年里已经改变了我们的生活方式。无数看中移动互联网这块大蛋...

佚名
2015/09/09
0
0
一站式App开发运维全解析(南京站)

活动内容… 我们生在伟大的时代:创新开放,遍布机遇。人人都有机会将创意变成产品、将梦想变为现实。作为站在移动互联网风口的开发者,可以更加清晰地感受这种众创氛围。也许你已经摩拳擦掌...

AppCan_1
2015/04/13
22
0
极光开发者沙龙JIGUANG MEETUP——移动应用性能优化实践

活动背景 移动互联网时代,各大互联网公司都已将自己的产品和服务全面移动化,各类新产品功能都会优先在移动App上尝试。 应用性能作为影响用户体验最重要的因素,在开发过程中显得尤为重要。...

极光推送
2017/05/12
28
0
OSC 第 131 期高手问答 -- 移动 APP 性能评测与优化

OSCHINA 本期高手问答(10 月 24 日 - 10 月 30 日) 我们请来了@hanahliao(廖海珍)为大家解答关于移动 APP 性能评测与优化方面的问题。 @hanahliao(廖海珍),南开大学计算机科学与技术专业...

局长
2016/10/24
3.1K
27

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
21
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
14
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部