以下规范建议,均是Alloyteam在日常开发过程中总结提炼出的经验,规范具备较好的项目实践,强烈推荐使用。

字体设置

使用无衬线字体

body {
font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
}

iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica。中文字体设置为华文黑体STHeiTi。 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5484?viewlocale=en_US), 但系统会自动将华文黑体STHeiTi兼容命中系统默认中文字体黑体-简或黑体-繁

Heiti SC Light 黑体-简 细体
Heiti SC Medium 黑体-简 中黑
Heiti TC Light 黑体-繁 细体
Heiti TC Medium 黑体-繁 中黑

原生Android下中文字体与英文字体都选择默认的无衬线字体

4.0 之前版本英文字体原生 Android 使用的是 Droid Sans,中文字体原生 Android 会命中 Droid Sans Fallback
4.0 之后中英文字体都会使用原生 Android 新的 Roboto 字体
其他第三方 Android 系统也一致选择默认的无衬线字体

基础交互

设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为

a, img {
-webkit-touch-callout: none; /* 禁止长按链接与图片弹出菜单 */
}
html, body {
-webkit-user-select: none; /* 禁止选中文本(如无文本选中需求,此为必选项) */
user-select: none;
}

移动性能

要考虑Android低端机与2G网络场景下性能

发布前必要检查项

  • 所有图片必须有进行过压缩
  • 考虑适度的有损压缩,如转化为80%质量的jpg图片
  • 考虑把大图切成多张小图,常见在banner图过大的场景

加载性能优化,达到打开足够快

  • 数据离线化,考虑将数据缓存在 localStorage
  • 初始请求资源数 < 4 注意!
  • 图片使用CSS Sprites 或 DATAURI
  • 外链 CSS 中避免 @import 引入
  • 考虑内嵌小型的静态资源内容
  • 初始请求资源gzip后总体积 < 50kb
  • 静态资源(HTML/CSS/JS/IMAGE)是否优化压缩?
  • 避免打包大型类库
  • 确保接入层已开启Gzip压缩
  • 尽量使用CSS3代替图片
  • 初始首屏之外的图片资源需延迟加载 注意!
  • 单页面应用(SPA)考虑延迟加载非首屏业务模块

运行性能优化,达到操作足够流畅

  • 避免 iOS 300+ms 点击延时问题 注意!
  • 缓存 DOM 选择与计算
  • 避免触发页面重绘的操作
  • Debounce连续触发的事件(scroll/resize),避免高频繁触发执行
  • 尽可能使用事件代理,避免批量绑定事件
  • 使用CSS3动画代替JS动画
  • 避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度
  • HTML结构层级保持足够简单,推荐不超过 5 个层级
  • 尽能少的使用CSS高级选择器与通配选择器
  • Keep it simple

在线性能检测评定工具使用指南

  • 访问 Google PageSpeed 在线评定网站
  • 在地址栏输入目标URL地址,点击分析按钮开始检测
  • 按 PageSpeed 分析出的建议进行优化,优先解决红色类别的问题

来源:http://www.zjgsq.com/1339.html

最新文章

  1. Opencv CamShift+Kalman目标跟踪
  2. chaper3_exerise_Uva1225_digit_counting
  3. ccc 多点触控
  4. SharePoint 2010 文档管理系列之星级评论功能
  5. (copy) Linux Commands Cheat Sheet in Black &amp; White
  6. memcache 内部原理实现
  7. mysql foreign key 外键
  8. js判断是否为ie的方法
  9. SIM卡厂商的识别方法
  10. zencart 后台目录产品黄色icon_yellow_on.gif 解决方案
  11. Intel Core Microarchitecture Pipeline
  12. JavaWeb框架_Struts2_(八)-----&gt;Struts2的国际化
  13. Spring实战思维导图
  14. java 锁 Lock接口详解
  15. Codeforces 1077F2 Pictures with Kittens (hard version)(DP+单调队列优化)
  16. 给统计人讲python(1)模拟城市_数据分析
  17. beego 初体验 - 基础模块 - config, httplibs, logs
  18. Java中创建线程的三种方式以及区别
  19. java 线程Thread 技术--线程方法详解
  20. 【转载】Redis在新浪微博中的应用

热门文章

  1. 制作SD卡img文件,并扩容
  2. C语言小程序(一)、判断三角型类型
  3. 8th
  4. [转]nodejs中的process模块--child_process.exec
  5. rails中一个窗体多个模型——fields_for
  6. [cf687c]The Values You Can Make(01背包变形)
  7. Servlet编程实例
  8. 微信小程序--录制音频,播放音频
  9. ubuntu安装配置ApachePhpMysql
  10. 解决因为终端打印造成的java程序假死