如何提高移动性能
发布在APICloud移动应用开发平台2015年8月7日view:2567移动开发性能优化
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

移动开发规范概述
以下规范建议,均是Alloyteam在日常开发过程中总结提炼出的经验,规范具备较好的项目实践,强烈推荐使用
字体设置
使用无衬线字体
body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;}
iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica。中文字体设置为华文黑体STHeiTi。 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5878), 但系统会自动将华文黑体 STHeiTi 兼容命中系统默认中文字体黑体-简或黑体-繁
Heiti SC Light 黑体-简 细体 (iOS 7后废弃)Heiti SC Medium 黑体-简 中黑Heiti TC Light 黑体-繁 细体Heiti TC Medium 黑体-繁 中黑
原生Android下中文字体与英文字体都选择默认的无衬线字体
4.0 之前版本英文字体原生 Android 使用的是 Droid Sans,中文字体原生 Android 会命中 Droid Sans Fallback4.0 之后中英文字体都会使用原生 Android 新的 Roboto 字体其他第三方 Android 系统也一致选择默认的无衬线字体基础交互
设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为
a, img { -webkit-touch-callout: none; /* 禁止长按链接与图片弹出菜单 /}html, body { -webkit-user-select: none; / 禁止选中文本(如无文本选中需求,此为必选项) */ user-select: none;}
enter image description here 移动性能要考虑Android低端机与2G网络场景下性能 注意!
发布前必要检查项
• 所有图片必须有进行过压缩
• 考虑适度的有损压缩,如转化为80%质量的jpg图片
• 考虑把大图切成多张小图,常见在banner图过大的场景
加载性能优化, 达到打开足够快
• 数据离线化,考虑将数据缓存在 localStorage
• 初始请求资源数 < 4 注意!
• 图片使用CSS Sprites 或 DataURI
• 外链 CSS 中避免 @import 引入
• 考虑内嵌小型的静态资源内容
• 初始请求资源gzip后总体积 < 50kb
• 静态资源(HTML/CSS/JS/Image)是否优化压缩?
• 避免打包大型类库
• 确保接入层已开启Gzip压缩(考虑提升Gzip级别,使用CPU开销换取加载时间) 注意!
• 尽量使用CSS3代替图片
• 初始首屏之外的静态资源(JS/CSS)延迟加载 注意!
• 初始首屏之外的图片资源按需加载(判断可视区域) 注意!
• 单页面应用(SPA)考虑延迟加载非首屏业务模块
• 开启Keep-Alive链路复用
运行性能优化, 达到操作足够流畅
• 避免 iOS 300+ms 点击延时问题 注意!
• 缓存 DOM 选择与计算
• 避免触发页面重绘的操作
• Debounce连续触发的事件(scroll / resize / touchmove等),避免高频繁触发执行 注意!
• 尽可能使用事件代理,避免批量绑定事件
• 使用CSS3动画代替JS动画
• 避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度
• HTML结构层级保持足够简单
• 尽能少的使用CSS高级选择器与通配选择器
• Keep it simple
在线性能检测评定工具使用指南
• 访问 Google PageSpeed 在线评定网站
• 在地址栏输入目标URL地址,点击分析按钮开始检测
• 按 PageSpeed 分析出的建议进行优化,优先解决红色类别的问题

原文:http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=2936

评论
发表评论
4个月前
添加了一枚【评注】:这是啥意思 啊??js/css/img算是请求的话,很多啊。
WRITTEN BY
PUBLISHED IN
APICloud移动应用开发平台
  • 7天开发APP,重新定义移动应用开发。
  • 可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。
  • 云API:减少70%服务器端编码工作量,同时提供推送、云修复、大数据分析等服务。
  • 端API:“积木拼装”式的开发跨平台APP,为APP开发者提供大量优质的原生模块,涵盖UI、系统、交互、影音、支付等类型的原生模块。
  • 模块store:“模块Store”通过提供“1+1”的服务(一站式+一键集成),让APP开发以及第三方服务SDK的集成变得非常简单,可以像逛超市一样在APICloud“模块Store”挑选自己中意的第三方服务,只需在线一键绑定,就可以实现不同服务的快速集成。
  • 官方网站:www.apicloud.com

我的收藏