移动端通用优化方案

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 条评论
登录 后参与评论

相关文章

来自专栏极客猴

使用 Python 生成二维码

新时代,人们有人信新的追求,自然而然会有新发明的诞生。去年,在“一带一路”国际合作高峰论坛举行期间, 20 国青年投票选出中国的“新四大发明”:高铁、扫码支付、...

1230
来自专栏数据小魔方

不等款柱形图(时间刻度实现)

今天要分享的图表仍然是昨天的不等款柱形图! ▽▼▽ 虽然最终制作出来的最终图表效果是相同的,但是制作理念和数据组织方式却截然不同,非常值得尝试! ●●●●● 数...

3466
来自专栏macOS 开发学习

cocos2d-objc 3.0+ 游戏开发学习手册(五): 纹理打包与CCSpriteFrameCache

在游戏开发中,通常对于性能的处理是比应用型的App要敏感一些.游戏中的操作往往比较频繁而且多数都需要立刻响应,若是性能问题导致用户体验卡顿,算是比较糟糕的情况了...

622
来自专栏QQ音乐技术团队的专栏

动态图片技术 : 历史、格式与性能

本文主要内容为动态图片的定义、发展历史与现状,动态图片相关的术语和概念,动态图片各主要格式,及简要对比,在 Android 平台对比 GIF 与 WebP 格式...

3080
来自专栏郭诗雅的专栏

Three.js camera初探——转场动画实现

three.js是用javascript写的基于webGL的第三方3D库,通过它可以在网页中进行3D建模,结合上TweenMax.js动画库,在网页中实现3D动...

3.2K3
来自专栏数据小魔方

复合饼图

今天要给大家分享的复合饼图的制作技巧! ▽ 其实这种复合饼图在数据表达与展示上与传统饼图相差无几,只是形式比较新颖,能够对局部数据突出展示,所以视觉传达效率比较...

3197
来自专栏数据小魔方

R语言可视化——REmap动态地图

今天开始,要跟着大家学习一个新的可视化R包——REmap包。 说起来,这个包要归功于百度的可视化开源项目——echarts,它是国内为数不多的高水平开源可视化j...

6426
来自专栏BestSDK

Dynamsoft Camera SDK 6.0发布,轻松捕捉图像和视频流

Dynamsoft Camera SDK提供了Java api,使您可以轻松地从浏览器兼容的USB视频类(UVC)网络摄像头捕捉图像和视频流。 ? 使用基于浏览...

3386
来自专栏程序你好

JavaScript图表的数据可视化:比较D3和Kendo UI

D3和Kendo UI只是在web应用程序中创建图表的两种方式,选项范围从简单地在屏幕上绘制图形到使用复杂的图表组件。D3和Kendo UI都很受欢迎,两者都能...

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

ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案

在葡萄城ActiveReports报表中可以通过矩阵控件非常方便的实现交叉报表,同时还可以设置数据的分组、排序、过滤、小计、合计等操作,可以满足您报表的智能数据...

1785

扫码关注云+社区