app电池续航上&&下--Android自动化测试学习历程
章节:自动化基础篇——电池续航自动化测试上&&下
主要讲解内容及笔记:
一、影响手机电量的因素和理论:
下面是一个表格:当今主流手机显示屏技术、机型与功耗对照表:
| 技术 | 类型 | 主流机型 | 功耗 |
| LCD | LCD+LED背光 | 四颗星 | |
| TFT-LCD | 三颗星 | ||
| IPS | iphone | 三颗星 | |
| SLCD | HTC、三星Nexus S(19023) | 两颗星 | |
| OLED | AMOLED | 三星Nexus S(19020) | 一颗星 |
| Super AMOLED | 三星 | 一颗星 |
技术参数的含义:
1、LCD——液晶显示屏(liquid crystal display)
2、OLED——有机发光二极管(Organic Light Emitting Diode)
类型里面的参数含义:
1-1)LCD+LED背光:
(1)LED(发光二极管(light-emitting diode))
(2)背光(LED背光是指用LED(发光二极管)来作为液晶显示屏的背光源。和传统的CCFL(冷阴极管)背光源相比,LED具有低功耗、低发热量、亮度高、寿命长等特点,有望近年彻底取代传统背光系统)
(3)背光具体含义:在电子工业中,背光是一种照明的形式,常被用于LCD显示上。背光式和前光式不同之处在于背光是从侧边或是背后照射,而前光顾名思义则从前方照射。他们被用来增加在低光源环境中的照明度和电脑显示器、液晶荧幕上的亮度,以和CRT显示类似的方式产生出光。
1-2)TFT-LCD:
TFT(Thin Film Transistor)LCD即薄膜场效应晶体管LCD。液晶平板显示器,特别TFT-LCD,是目前唯一在亮度、对比度、功耗、寿命、体积和重量等综合性能上全面赶上和超过CRT(CRT是一种使用阴极射线管(Cathode Ray Tube)的显示器)的显示器件,它的性能优良、大规模生产特性好,自动化程度高,原材料成本低廉。
1-3)IPS:
IPS(In-Plane Switching,平面转换)技术是目前世界上最先进的液晶面板技术。 IPS就是表面附着了一层树脂的膜,如同人带眼镜一样。相比其他面板技术(如TN面板和VA面板),IPS屏的特别之处在于不是预先给液晶分子定向成为透光模式,而是定向成为不透光的模式,透光的多少通过与液晶分子定向方向垂直的电极决定,电压越高,扭转的分子就越多,从而实现光线的精确控制。
1-4)SLCD:
SLCD是英文Splice Liquid Crystal Display的缩写,即拼接专用液晶屏。
2-1)AMOLED:
AMOLED(有源矩阵有机发光二极体或主动矩阵有机发光二极体,英语:Active-matrix organic light-emitting diode),是一种应用于电视和移动设备中的显示技术。其中OLED(有机发光二极体)描述的是薄膜显示技术的具体类型-有机电激发光显示,AM(有源矩阵体或主动式矩阵体)指的是背后的像素寻址技术。截至2011年,AMOLED技术被用在移动电话和媒体播放器上
2-2)Super AMOLED
AMOLED屏幕具备着响应速度快,自发光,显示效果优异以及更低电能消耗的优点。而早期AMOLED屏幕所面临的面板尺寸有限以及寿命相比TFT较短的缺陷也在不断革新的技术支持下缩短着差距。三星推出的全新Super AMOLED(全称:Super Active Matrix/Organic Light Emitting Diode)超炫屏,相比传统AMOLED炫屏而言,摒弃了之前触控感应层+显示层的架构设计,操控更为灵敏。此外,取消玻璃覆盖层还带来了更佳的阳光下显示效果。同时,Super AMOLED还搭载了 mDNIe(移动数字自然图像引擎)技术能从任意角度观看并做出快速的反应。
注:bat面试技巧——按照官网文档,话不在多,说到点上才是
1)如何较少电量问题:
(1)取消广播
(2)用wifi
(3)减少服务更新服务
2)小米手机为何省电?
秘诀在于:尽可能缩短对一切资源占用的时间
例如,尽可能减少:
(1)CPU消耗(轮询线程?什么是轮询线程?什么情况下需要轮询线程?如何做到减少轮询?root权限又是什么?如何获取?android底层是如何处理的?
一定要阅读android源码才行啊,加油!!想办法上去官网)
(2)唤醒频率(weaklock,什么是weaklock,函数?这个主要是指什么唤醒?屏幕还是什么?)
(3)联网时长(失败重试?是指失败后不重试?)
(4)屏幕、GPS、相机使用时间(这个如何做到呢?这个不应该是由人员来控制的吗?我想用多长时间的相机?还是说我开启前减少开启不必要的东西?然后关闭后尽快结束,不逗留)
(5)SD卡读写
具体些,在onPause()方法中可以:
(1)停止持续耗费CPU的操作,如动画?这个如何停止?指的是什么动画?
(2)释放系统资源,如摄像头?摄像头进程什么时候存在?还是说所谓退出其实并没有退出
注:所谓测试电量最终目的也是为了如何减少电量,从根源出发,了解原因,才能真正遏制电量流失,否则用什么电量管家之类的测试出来又有什么意义呢?
如何愿意测,就自己尝试写代码去测试,阅读源码是第一步!
注:解读android系统的无节操行径——http://blog.csdn.net/21cnbao/article/details/7686907
(1)负责一个挂掉的service重启
android四大组件是独立的,界面关掉(UI主线程退出),serviece还是可以随意跑啊
二、a:整机电池续航-脱离数据线(所谓的电池续航,就是说尽量从各个方面控制电量,减少电量损耗)
包括以下多个点:(得自己找代码看,主要是可以对竞品机器进行一个整机的相同操作的处理,查看电量消耗情况)
1、屏幕点亮关闭——难点
以用户习惯切入,确立用例,大概用户会做哪些操作?
2、飞行模式自动切换
3、网络连接自动切换(3G和2G)——难点(反射)
(1)概念解析:什么是反射?在代码中具体如何做到反射?
4、WiFi和蓝牙开启关闭
5、短信发送
6、彩信发送——难点
7、音乐播放器开启关闭
8、SD卡
9、视频播放
10、摄像头
11、E-Mail
12、 通话——难点
三、进程级别监控预备知识
省电,就是要减少CPU的消耗
复习概念:CPU频率、CPU时间片
希望精确量化应用程序对CPU的消耗,首先需要固定CPU频率,然后获取执行操作进程所占用的CPU时间片总数
1、固定CPU频率:
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
2、测试开始前和结束后获取进程在用户态和系统态消耗的时间片总数
cat /proc/1/stat
生成的结果:-1后面的数字第6+第7的总和
四、b:单进程电池续航-插usb
纳尼?没看懂。。。。找机会继续啃,主要还是要看开发文档,还得自己写代码!!!!
五、总结
涉及到一些面试技巧:
1、影响电量的因素?
(1)手机本身使用材质
(2)广播(一定要在使用的时候再去动态创建)
(3)3G和WiFi(用WiFi,少用3G,又花钱又费电,不是好玩意)
(4)减少服务
2、怎么让手机保持唤醒状态?(浅度休眠和深度休眠会是不一样的)
3、怎么做电量测试?到app级别的
4、做电量测试是要考虑瞬间值还是平均值?
废话,当前平均值,举个例子就是:瞬间值到10000,其他全是1;就比如说有一姑娘或小伙,都是有某一瞬间是漂亮或者帅的,但是我们说他是什么样的,还是要关注生活当中大部分情况下的啊
5、电量对比怎样做?参考和标准如何?
答案就是:以世界主流为参考和标准
网易云课堂:
http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878098&courseId=712011
http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=878099&courseId=712011
|
金阳光测试 |
新浪微博:金阳光woody |
|
网站地址 |
1、百度搜:金阳光测试 2、官网:www.goldensunshine.cc |
|
微信公众号 |
|
app电池续航上&&下--Android自动化测试学习历程的更多相关文章
- 自动化预备知识上&&下--Android自动化测试学习历程
章节:自动化基础篇——自动化预备知识上&&下 主要讲解内容及笔记: 一.需要具备的能力: 测试一年,编程一年,熟悉并掌握业界自动化测试工具(monkey--压力测试.monkeyrun ...
- MonkeyRunner原理初步--Android自动化测试学习历程
章节:自动化基础篇——MonkeyRunner原理初步 主要讲解内容及笔记: 一.理论知识和脚本演示 最佳方式是上官网文档去查看monkeyrunner的介绍,官网上不去,就找了一个本地的androi ...
- Robotium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Robotium原理初步(第四讲) 主要讲解内容与笔记: 一.基于控件 1.spinner——下拉菜单 2.TabHost——左右滑动选择菜单,类似电话本 3.Gallery—— ...
- 跨进程(同一app不同进程之间通信)——Android自动化测试学习历程
视频地址:http://study.163.com/course/courseLearn.htm?courseId=712011#/learn/video?lessonId=877122&co ...
- Android-Junit-Report测试报告生成——Android自动化测试学习历程
视频地址: http://www.chuanke.com/v1983382-135467-384869.html 这个内容其实已经在用了,我在上一篇文章robotium—只有apk文件的测试中已经讲过 ...
- Instrumentation类——Android自动化测试学习历程
这里需要把Instrumentation类的视频的上.中.下三集一起看,把内容总结一下... 视频地址: http://study.163.com/course/courseLearn.htm?cou ...
- 百度Cafe原理--Android自动化测试学习历程
主要讲解内容及笔记: 一.Cafe原理 Cafe是一款自动化测试框架,解决问题:跨进程测试.快速深度测试 官网:http://baiduqa.github.io/Cafe/ Cafe provides ...
- Appium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Appium原理初步(第七讲) 本期关键词: Appium.跨语言跨平台.Bootstrap 主要讲解内容及笔记: 一.what is appium 一种封装了uiautomat ...
- Selenium原理初步--Android自动化测试学习历程
章节:自动化基础篇——Selenium原理初步(第五讲) 注:其实所有的东西都是应该先去用,但是工具基本都一样,底层都是用的最基础的内容实现的,测试应该做的是: (1)熟练使用工具,了解各个工具的利弊 ...
随机推荐
- python 自动化多线程的应用
1.本机上同时执行多个浏览器 import threading,sys from time import sleep,ctime from selenium import webdriver path ...
- 深入理解yield(二):yield与协程
转自:http://blog.beginman.cn/blog/133/ 协程概念 1.并发编程的种类:多进程,多线程,异步,协程 2.进程,线程,协程的概念区别: 进程.线程和协程的理解 进程:拥有 ...
- unity3d中给GameObject绑定脚本的代码
一.获取GameObject 1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find(“Ga ...
- css 元素选择器实例
一个完整的HTML页面是有很多不同的标签组成,而标签选择器,则是决定哪些标签采用相应的CSS样式.本文章向码农介绍css 标签/元素选择器以及其实例,需要的码农可以参考一下. [标签选择器] 一个完整 ...
- noip 2011 选择客栈
题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均 ...
- flask中的蓝图与红图
内容: 1.flask中的蓝图 2.flask子域名实现 3.flask中的红图 1.flask中的蓝图 一个大型项目中视图比较多,如果仅仅是写在app.py中不方便管理,蓝图就可以做到分功能分目录结 ...
- 一种思路,隐藏input标签,通过label关联
<label class="btn btn-default btn-file">上传图片 <input hidden type="file" ...
- linux虚拟机Ubuntu命令配置
# netstat -ntl # 查看端口号,改成 0.0.0.0才能进行远程访问 # sudo service redis-server restart # 修改后需要重启服务 python2和 ...
- 《汇编语言 基于x86处理器》前五章的小程序
▶ 书中前五章的几个小程序,基本的运算操作,使用了作者的库 Irvine32 和 Irvine64(一开始以为作者网站过期了,各网站上找到的文件大小都不一样,最后发现是要搭梯子 Orz,顺利下载).注 ...
- 0_Simple__template
简单的 CUDA 应用模板,白送的 Sample. ▶ 源代码 //template_cpu.cpp extern "C" void computeGold(float *, co ...
