移动端通用优化方案

UI绘制

手机屏幕帧率一般为60 FPS,也就是说一帧的渲染时间为16.7ms,所以如果页面渲染时间超过16.7ms 容易出现卡顿现象。提高页面渲染效率可以考虑如下方法:

  • 减少页面层级,防止过度绘制
  • 组件延迟加载
  • 资源预加载,减小资源尺寸
  • 耗时操作异步执行

网络优化

  • 优先用wifi,其次才是蜂窝网络
  • 优化接口设计,尽量减小接口请求次数
  • H5 预下载,提升webview 展示效果
  • 灵活使用数据压缩,如gzip
  • protobuf > JSON > XML,通常XML 体积最大,protobuf 体积最小但是有一点儿门槛
  • httpdns 防止域名劫持
  • 抓包工具:Fiddler+Willow、TCPDump、Wireshark

资源尺寸优化

  • native 混合编程
  • 删除无用图片等资源,适当减小图片分辨率
  • jpg > png > bmp,优先用高压缩比图片
  • 减小图片色深,如png24 => png8

CPU优化

  • 主频越高,CPU功耗越高(非线性),充分利用多核优势,有时多线程可以更省电
  • 优化浮点运算:除法变乘法,利用位移操作,查表法(空间换时间),利用arm 指令优化
  • 其它代码优化:算法优化,数据结构优化,逻辑优化,数据库优化,native 代码

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏linux驱动个人学习

处理器并行设计

1122
来自专栏数据小魔方

excel数据转置——一维表与二维表之间的转化!

今天跟大家分享excel数据转置——一维表与二维表之间的转化! ▽ 我们在做数据搜集整理的时候 通常会遇到要将原始数据做转置处理 如下图案例所示 ? 这是一张典...

3115
来自专栏美团技术团队

Android硬件加速原理与实现简介

在手机客户端尤其是Android应用的开发过程中,我们经常会接触到“硬件加速”这个词。由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的底层原...

3815
来自专栏葡萄城控件技术团队

如何在施工物料管理Web系统中处理大量数据并显示

最近在开发施工物料管理系统,其中涉及大量的物料信息需要管理和汇总,数据量非常庞大。之前尝试自己通过将原始数据,加工处理建模,在后台代码中通过分组、转置再显示到 ...

19810
来自专栏向治洪

Android硬件加速介绍与实现

概述 在手机客户端尤其是Android应用的开发过程中,我们经常会接触到“硬件加速”这个词。由于操作系统对底层软硬件封装非常完善,上层软件开发者往往对硬件加速的...

2428
来自专栏tkokof 的技术,小趣及杂念

“连连看”小析

近段日子与几位同事聊到了“连连看”这个小游戏,感觉还颇有些趣味,虽然其本身规则并不繁琐,但玩起来确实很能让人投入。出于自己的一点追究癖,自己这几天还认真考虑了...

331
来自专栏青蛙要fly的专栏

Android技能树 — 屏幕适配小结

关于屏幕适配,几乎每隔一段时间就会看见有人发出来说XXX方案,实现超级简单的适配方式等等。所以我把我目前了解过的常用的适配方案做个总结,并简单说说原理,从而让大...

803
来自专栏阿凯的Excel

甘特图绘制(Excel绘制图表系列课程)!

谈到甘特图,很多人最先想到的是项目经理,想到项目经理,最先想到的就是 嗯!这两个字就是形容包括我在内的所有项目管理人员的! 回归正轨,是这样的,项目经理呢,...

2656
来自专栏性能与架构

什么是 CSS 预处理器 与 后处理器

CSS处理器是做什么的? CSS本身不是编程语言,所以在项目越来越大时,开发和维护就会越来越复杂 CSS处理器做的事情 就是帮助我们提高大规模开发时的效率 CS...

3666
来自专栏WeTest质量开放平台团队的专栏

QQ空间掉帧率优化实战

空间新业务需求日益增多,在业务开发阶段的疏忽,或者是受到其他业务的影响(比如一些非空间的业务网络回包或者逻辑在主线程进行),导致空间的某些页面掉帧率上升。

842

扫码关注云+社区