使用应用时,有时会出现掉电快、卡顿、过度发热等问题,影响用户体验的同时,也严重影响了应用使用时长和用户留存,如何解决上述问题?本文华为显示流程功耗优化专家王文华将分享议题——低功耗前台显示。

手机器件包括SOC、TP、Modem、GPS、Audio、Camer等主要器件,这些器件在使用时对功耗的影响比较大。

上图展示的是不同器件对手机功耗带来的影响,下文将通过从主流应用中发现的问题实例,对应用功耗产生影响的设计因素展开介绍。

视图设计

许多应用存在无效刷新、多元素同时刷新等问题,导致数据运算量增加,出现过度占用手机CPU、GPU资源的情况,引起应用耗电增加,部分应用还会出现卡顿现象。

建议:

1)尽量减小绘制窗体的面积。

2)减少多个元素同时刷新。

3)减少距离较远的元素同时刷新。

以上建议减少应用在刷新状态下的数据量,减少数据对带宽、CPU、GPU的占用,无形中节省了功耗,提升了应用性能。

图层优化

在全屏界面下,有些应用的界面图层非常多,究其原因是开发者没有将Activity销毁,导致图层合成的工作量很大,过度占用GPU资源,导致卡顿、显示效果差,同时功耗增大。

建议:图层数量控制在3个以下。

不需要GPU处理的组件减少耦合

有些视频类应用的视频流会采用SurfaceTexture或TextureView进行处理,常常出现GPU对界面重新绘制、重复工作的问题,部分场景可能存在时序变化,导致功耗增加,并发生卡顿。

建议:视频场景不要使用GPU重绘。

视频解码

应用有两种解码方式:硬解码和软解码。

软解码是纯粹依靠CPU来进行解码的一种方式,视频清晰度越高,CPU负载就越重,容易导致CPU能力不足出现卡顿,耗电量增加。

建议:使用硬解码,对于高清视频播放类应用的性能、功耗均有保障。

数据请求:

视频播放类应用在线播放需要提前预缓存视频资源,应用如果频繁发出网络请求,缓存过程的频繁交互就会导致对CPU等资源占用过度,耗电量增加。

建议:大数据块的集中下载既能满足用户体验又能有效降低WIFI功耗和负载,下载完成后可在间隔一段时间内保持Sleep状态。

布局与绝对坐标解耦

应用在不同分辨率的屏幕下显示时,如果使用绝对坐标会造成应用部分场景显示偏移,效果无法保障的问题。

建议:

1)应用布局时,在使用wrap_content、match_parent 和dp 单位为 XML 布局文件中的视图定义 android:layout_width 和 android:layout_height 时,可确保应用视图在当前设备屏幕上提供适当尺寸。

2)应用编码时请勿使用硬编码像素值,固定像素值将导致应用在不同密度的屏幕上出现布局错误。

3)建议应用不要使用AbsoluteLayout 布局,AbsoluteLayout 强制应用使用固定位置放置子视图,影响应用显示效果。

4)在使用尺寸和密度特定资源时,尽管系统会根据当前屏幕配置扩展布局,但在不同屏幕尺寸上,应用可能需要调整UI以及提供针对不同密度优化的可绘制对象。(指在资源目录中针对不同密度的资源进行定义)

关注安卓绿色联盟公众号,回复关键词"2305"获取PPT

应用前台省电秘籍——这些常见功耗雷坑不要再跳了相关推荐

  1. 应用后台省电秘籍——低功耗状态下应用如何正常运行?

    应用退居后台,如何在低功耗的情况下保证任务正常运行?本文华为软件功耗专家黄文将分享议题--应用后台功耗经验. 本文将从安卓绿色联盟功耗标准2.0.谷歌后台功耗方案.华为后台功耗方案以及开发者资源使用建 ...

  2. Axure通用版电商后台管理系统+通用版移动端商城商户端+电商管理系统+对账管理+消息管理+内容管理+运营管理、会员管理、订单管理、促销管理、财务管理+通用版商城前后端电商系统+电商用户数据大屏看板

    作品介绍:Axure通用版电商后台管理系统+通用版移动端商城商户端+电商管理系统+对账管理+消息管理+内容管理+运营管理.会员管理.订单管理.促销管理.财务管理+通用版商城前后端电商系统+电商用户数据 ...

  3. 拼团模式--社交电商的常见营销手法

    拼团模式,是目前各电商最常见的吸粉引流营销手法:拼团的目标在于拉新.提高订单量.利用用户关系链进行产品宣传.扩大影响面. 那社交拼团里几种常见运营模式有哪些.missyoyos 一.纯拼团电商:以拼多 ...

  4. 电商中常见的高并发解决方案

    目录 多级缓存 什么叫多级缓存 多级缓存的实现思路 Redis 缓存同步 MySql 数据 Nginx 限流 什么是限流 常见的限流算法之漏桶算法 nginx 限流的方式 控制速率 控制并发量(连接数 ...

  5. pytorch统计矩阵非0的个数_PyTorch常见的12坑

    原标题:PyTorch常见的12坑 1. nn.Module.cuda 和 Tensor.cuda 的作用效果差异 无论是对于模型还是数据,cuda函数都能实现从CPU到GPU的内存迁移,但是他们的作 ...

  6. 其利断金前一句是什么_过来人的忠告:女孩结婚前务必要想清楚这4件事,再结婚不晚...

    在结婚之前,人们对婚姻充满的好奇和憧憬,恋爱的时候,他们以为只要有爱,一切就够了.他们坚信有爱便可以包容一切,爱可以让生活遍地开花.婚姻不过是让恋爱变得名正言顺,有了婚姻,爱就有了归属,它会让爱变得更 ...

  7. 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现

    哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 参考文章: (1)哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 (2)https://www. ...

  8. Java开发人员在编程中常见的雷!

    身为一名Java从业人员,其职场生涯就是一边踩"坑",一边上升的过程.这个过程中不仅要学会修改无数bug,也要学会越过很多"坑".今天,千锋老师为大家分享一些J ...

  9. 一些Java开发人员在编程中常见的雷!

    身为一名Java从业人员,其职场生涯就是一边踩"坑",一边上升的过程.这个过程中不仅要学会修改无数bug,也要学会越过很多"坑".今天,小千为大家分享一些Jav ...

最新文章

  1. 云评测、云监测、云加速,性能魔方mmTrix全球速度最快
  2. Matlab中plot函数绘图基本用法
  3. 定义DO/DTO/VO等POJO类时,不要设定任何属性默认值
  4. 高效开发--crm开发有悟
  5. Perl用LWP实现GET/POST数据发送
  6. Windows Azure真实案例--Lokad 公司通过软件+服务高效提供先进的预测服务
  7. 初识Firebug 全文 — firebug的使用
  8. 360 安全浏览器尝试收费;苹果macOS首次出现在云端;pip 20.3 发布|极客头条
  9. Android 4.3 新特性
  10. sys.stdout.write与sys.sterr.write(一)
  11. 你应该知道的RPC原理
  12. OFFICE技术讲座:WP布局方向有哪些
  13. 硬盘格式化后数据能不能恢复,硬盘格式化数据怎么恢复
  14. 反编译工具Reflector下载
  15. [Mac]『Grid』(格子) 免费又实用的分屏软件
  16. Winform中HelpButton的用法总结
  17. 什么样的电子签名有法律效力
  18. 元宇宙研讨会-空间设计与交互技术构造的叙事世界
  19. 数据传输完整性_基于IBIS模型的FPGA信号完整性仿真验证方法
  20. 计算机是如何存储数字的?

热门文章

  1. CouchDB未授权访问漏洞记录(端口:5984、6984,CVE-2017-12635,CVE-2017-12636)复现失败
  2. CTF中Crypty入门必看(密码类,密码学)
  3. C/C++获取当前路径、获取任意pid完整路径(readlink()函数)
  4. 关于Linux C multiple definition of‘XXX’的问题
  5. java基础的第二轮快速学习!day03
  6. 研究一下识别验证码,。。。随笔记录
  7. Java关于周跨年的周数计算
  8. 2017sc 膜你赛9 比赛笔记
  9. ASP从HTML标签中提取中文
  10. cookies与session