首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何才能更持久——耗电元凶

因为手机由很多模块组成,基本上每个会被程序使用的硬件部分都会耗电,且看上面这张一个典型主流智能手机构造图,电池占了将近60%手机空间,甚至超过了PCB的占地面积,也就是说一块电池在维持着整个手机的运作,...所以我们可以轻易得出第一个结论:长时间使用OPENGL绘制3D动画(CPU&GPU)非常非常之耗电。 看上去似乎很吓人,不过庆幸的是手Q上并没有什么3D动画的需求,是不是咱就不用关心动画了呢?...另外还得提及GPU的另外一个优势:许多绘制的效果变得更加容易。比如你要以软件形式绘制一个位图,你除了设置一个位移,不能做任何事。仅仅是缩小就得花上相当多的时间进行渲染。...原因显而易见,都是note2那块5.5寸的大屏幕导致的,那么屏幕大为什么就耗电呢? 最直观的原因是屏幕大显示区域大,自然功耗就高,没错,但还有另外一个原因也不可忽视:PPI。...4、屏幕材质耗电量波动不大,屏幕耗电与屏幕亮度有着直接关系。

1.4K81
您找到你想要的搜索结果了吗?
是的
没有找到

Android耗电分析--Battery Historian

背景 APP越来越大,功能越来越多,导致后台运行时耗电急速上升,使用官方推荐的Baterry-Historian进行分析 官方链接:https://github.com/google/battery-historian...首先需要开启手机的电量记录 adb shell dumpsys batterystats --enable full-wake-history 接着在操作完成后,静置后台 静置后台一段时间后,清理在前台或者屏幕亮着的时候的耗电信息...adb shell dumpsys batterystats --reset 等30mins后或者整晚后,收集这段时间内系统耗电的信息,在read-only的文件系统中不可运行,必须在可写的文件系统中才会生成...adb bugreport 最终在当前文件夹下会生成zip_file,其中的bugreport.txt就是我们所需要的耗电信息 PS: 在adb shell的Context下使用

2.3K20

IOS手机耗电量测试的一个文艺玩法

面试APP测试时经常被面试官问手机耗电量测试怎么玩?手机流量测试怎么玩? 今天教大家一个苹果手机耗电量的文艺测试玩法。 1....,因此会发现OLED和LCD屏幕的手机耗电量不一样,使用wifi模块和3G网络的耗电量不一样 综上所述:如果耗电量是看整个手机的耗电情况,那么受影响的因素比较多,干扰大,无法准确得出被测应用的真实耗电数据...耗电量文艺测试方法 2.1方法原理: 从iOS8系统开始,iPhone手机在电量选项中会看到前后台运行时长和电池消耗占比数据(如下图所示),这些数据会自动收集在iPhone手机数据库里,并会上报给苹果服务器...:将解析HTTP请求并保存文件的capture.py脚本放置在iMac机上,然后运行命令: mitmdump -s “capture.py --bat” 步骤3:将待测手机和iMac都连接到同一个...wifi网络下,然后打开手机中的wifi设置,设置手机的HTTP代理服务器IP为iMac的IP,端口为8080(如下图所示) ?

1.6K20

Matrix-iOS 耗电监控

耗电监控实现 iOS/macOS 的 Mach 内核提供了获取一个线程的使用信息的方法。...当识别出一个线程的 CPU 占用过高,iOS/macOS 平台上可以使用 backtrace() 函数获取到当前线程的堆栈。Matrix 耗电监控的实现就是建立在这个基础上。...Matrix 耗电监控在应用启动后开启一个检测子线程,检测线程不断去识别出当前应用哪个线程的 CPU 占用过高,将耗 CPU 多的线程的堆栈收集起来。...在 iPhone 7 Plus 下测试,执行 backtrace( ) 获得一个线程的堆栈平均耗时是 50 微秒;在实际应用场景中,应用 CPU 占用过高时,一般最多只有 5 个线程的 CPU 占用会超过...在 iPhone 7 Plus 测试,生成一个耗电堆栈耗时为 17 毫秒,该耗时和堆栈的复杂度有关,仅作为参考。

3.8K41

iOS耗电量测试方法-Sysdiagnose

最近小编在项目的性能测试中,对SDK的耗电量进行了测试,期间学习并实践了iOS耗电量测试的方法sysdiagnose,针对iOS的APP和SDK耗电量测试都适用,在此与大家分享。...因为我们还不知道电池在工作时,会以多少mA的电流工作,所以也就不知道能用多久,我们想知道的是,电池到底还有多少电,这个才是一个具体的值。...这个接口拿到的数据,仍然是不够具体,全是整机的电池情况,没有具体到某一个应用或是其他维度的电量统计。所以,还得继续摸索。...它能拿到每一个APP的CPU\GPU\显示\网络\存储等前后台所有详细信息,一个巨大的表。 ? 可是这个接口早在iOS9的第一个版本,就完全被封了,只能在iOS 8上的机子上拿到数据。...每个场景开始执行和结束时,记录开始和结束的时间,每个场景之间间隔1min(目前是一个场景操作10min); 3.

5.1K20

Android耗电量线下监控: Battery Historian

发热案例分析 Android 框架层通过一个名为 batterystats 的系统服务,电池的信息,电压,温度,充电状态等等,都是由BatteryService来提供的。...wake_lock_in wake_lock 有不同的组件,这个地方记录在某一个时刻,有哪些部件开始工作,以及工作的时间。...该栏记录了应用在某一个时刻启动,以及运行的时间,这对我们比对不同应用对性能的影响有很大的帮助。 三....发热测试过程 我们首先找出一款被骂的最狠的一款测试手机 xx 三星 xx 版本,电池容量:3000mAh,游戏直播和秀场直播以及直播回放 WiFi 环境下,打开 App,播放同一个测试直播源资源分别测试...,会定时唤醒 CPU 这样可能会有耗电风险,然后如果自定义 View 设计不合理,进行高频刷新 UI,也会造成耗电,而且本公司产品 UI 布局设计很不合理,布局嵌套很严重,存在重复渲染问题。

1.3K30

Android 性能测试之 CPU 耗电性能篇

思路简介 现有的耗电性能测试,除了高端深入带着原理去测试的方法,大多数都是读取系统文件或采用工具获取整体手机电流值,这样的方法受影响的因素多,数据波动大,可信度不高,同时从开发角度说,告诉他一个简单的电流值...数据采集 首先设计一个基类,用于各类性能测试,包括本篇的CPU耗电,以及内存性能、UI流畅度等其他专项。...图三 JIFFS性能数据收集具体逻辑 数据使用 获得单一进程的JIFFS数据后,使用如下表的平均值即可评估出一个特定UI自动化用例场景下,对应的每5秒 utime、stime是否有优化或者达标。...包,一般可以找出几个耗电大头线程。...通过以上的分析,基本上可以为业务开发找到CPU耗电元凶。

3.4K00

APP专项测试之耗电量测试

如果自己的App不小心出现在耗电量排行榜Top10,用户卸载的概率就会很高,针对APP耗电量测试,在此与大家分享。...(1) 测试方法 ①Sysdiagnose需要一个开发者账号,在苹果开发者官网Profiles and Logs下载证书BatteryLife.mobileconfig。...APP,根据测试用例设计的测试场景进行测试; ⚠️注意事项: 电量测试如果是对比测试,两个版本的初始电量尽量保持一致; 每个场景开始执行和结束时,记录开始和结束的时间,每个场景之间间隔1min(目前是一个场景操作...该栏记录了应用在某一个时刻启动,以及运行的时间,这对我们比对不同应用对性能的影响有很大的帮助。 wake_lock*: wake_lock该属性是记录wake_lock模块的工作时间。...wake_lock_in: wake_lock有不同的组件,这个地方记录在某一个时刻,有哪些部件开始工作,以及工作的时间。 Gps: gps是否开启。 phone_in_call: 是否进行通话。

2.6K21

浅谈4款低功耗电流测试“神器”

由于应用场地限制,很大一部分的IOT设备只能使用电池进行供电,于是需要长时间网络连接的IOT设备,对应的超低功耗电流测试数据成为研发工程师评估设备寿命的一个极其关键的参数。...这样一套系统价格大概3W RMB,笔者曾试用过这套系统,对于低功耗电流测量很精确直观,唯一的不足就是对于不同电流量程的测试,仪器内部是通过继电器进行自动切换,机械式的切换方式会直接导致在频繁的突发电流测量场景中...骤变过程切换速度慢,导致监控过程中数据容易丢失在精准测量中是一个硬伤。 N6705C直流电源分析仪 N6705C是Keysight(是德科技,原安捷伦)推出的直流电源分析仪。...这台仪器可让用户挑选不同的功能模块进行组合,最多可将电源、数字万用表、示波器、任意波形发生器、数据记录的特性融为一体,低功耗电流测量仅仅只是其中的功能之一。...虽然这样的价格快赶上一部低配版的卡罗拉,但不得不说,这台仪器是我用过的低功耗电流测试仪中,用起来最为得心应手的!

1.8K10

【穿山甲系列】找出后台偷偷耗电的元凶

Method Profiling一般是用来分析性能问题的,它会记录每一个线程、每一个方法的耗时,也正是利用了这一点,我们可以清楚地看到浏览器在切后台后都做了哪些事情。...另外,监控本身可能导致耗电,例如我们首先排除的方案——用一个例行线程不断记录当前所有线程,所以在设计方案时需要将监控本身的影响降到最低。...当存在耗电问题时,上报上来的trace文件会比较多,我们不可能每一个上报都做人工分析处理,所以需要一个程序来进行自动化的分析。...一个耗时长的调用栈, 是不是就是耗电的元凶呢? 答案:并不是! 根据历史经验, 一个孤立的调用栈, 就算它比较耗时,但很多时候并不是耗电问题的元凶....针对每一个调用栈, 我们给出一个评分: Score = cost * count / diviation 分数越大的调用栈,越可能是耗电问题。

1.4K60

惊呆,ChatGPT每天耗电量相当于5万个家庭

看新闻说,ChatGPT每天的耗电量是50万度,国内每个家庭日均的耗电量不到10度,ChatGPT耗电相当于国内5万个家庭用量。...我觉得这样的耗电算是稀松平常,训练AI模型需要算力,用户访问也需要算力,而算力要用到GPU显卡,就像挖矿一样,非常的耗电。以Chat GPT这样的参数和访问规模,其耗电量只会越来越大。...AI不光耗电还耗水,AI训练需要大量的水去冷却计算机,据说GPT 3训练过程中大约消耗了 70 万升,如果一个用户与 ChatGPT 进行 25~50 个问题的对话,大概就相当于请 ChatGPT 喝了...所以AI基础算力成为了一个非常大的壁垒,只有超级大公司才能拿到入场券。 回过头来,计算一项技术耗费多少电,本身是没有意义的,还要考虑它的产出,是否值得消耗这么多电。...过去一百年里,全球电动机消耗掉的电量就占到了总发电量的一半,但电动机所产生的价值远超其耗电量,如果AI能够给人类带来足够的价值,谁会去考虑它的耗电呢?当然这其中的公式还有待明确。

9110

【Android场景化性能测试专栏】CPU耗电性能篇

读取系统文件或采用工具获取整体手机电流值的方法,受影响的因素多,数据波动大,可信度不高,同时从开发角度说,告诉他一个简单的电流值,对他们定位问题的帮助,也不够。...本方案,主要以这两个值为依托,输出APP耗电各场景下的耗电性能。 三、数据采集 首先设计一个基类,用于各类性能测试,包括本篇的CPU耗电,以及内存性能、UI流畅度等其他专项。...图三JIFFS性能数据收集具体逻辑 四、数据使用 获得单一进程的JIFFS数据后,使用如下表的平均值即可评估出一个特定UI自动化用例场景下,对应的每5秒 utime、stime是否有优化或者达标。...图五DDMS分析线程CPU占用 在黑盒性能自动化发现有进程有CPU耗电异常之后,使用DDMS分析debug包,一般可以找出几个耗电大头线程。...通过以上的分析,基本上可以为业务开发找到CPU耗电元凶。

1.7K10

云计算耗电惊人占全球用电量的8%

“云计算”目前已经应用于许多企业,尤其是一些高科技企业,以谷歌、亚马逊等科技巨头为例,数据存储在数据中心里数以千计的“云端”服务器中。尽管最近数年服务器的硬盘空间大幅增长,但云计算仍然面临挑战。...”绿色和平组织估计,如果把全球云计算产业比做一个国家,其能耗排在第六位,介于德国和俄罗斯之间。到2020年,云计算产业的电能需求将增长逾60%。...而中国电信数据中心年耗电112亿千瓦时,总计年需消耗102.95万吨标准煤。 从全球范围来看,信息和通信技术的总耗电量大约占全球耗电总量的8%。...把世界上所有云计算中心的耗电量统计在一起的话,会出现惊人的结果。...去年惠普推出了新款低能耗服务器,能耗比传统服务器低89%。该清洁能源公司已经开发了一项液冷技术,提升数据中心现有设备的运行效率。这项液冷技术使数据中心无需配备高能耗的风扇和空调设备。

4.2K40

从体积到耗电,全方位解析SDK超级优化方法

结合网络情况、手机电量等因素,我们采取以下几种方式进行优化: 1)合并网络请求,减少服务器压力和dns请求时间,减少手机的网络流量。...对于sdk的开发者来说“这是一个最好的时代,也是一个最坏的时代”。他们必须自己去“造轮子”,但是会给他们带来更多收获,无论是接触到os的底层还是设计模式,都会比普通的开发者了解更多。...另一个被替换的第三方组件是volley。它是google开发的网络框架,便于android应用操作网络。替换volley的原因,是它功能太强大了,简直就是一个“全家桶”。...对于每一个小版本除了新增的功能之外,我们都会集中精力优化好某一块地方。每一个小版本都是“小步迭代”,但是经过几个版本的迭代之后,还是能够实现量变。...比如一个开发者只想要tracking功能,那么他只需使用sdkcore包和tracking包。

1.4K30

安卓耗电之谜:罪魁祸首竟是隐藏通信

简介 我们目前并不清楚为什么Android有这么多使用远程服务器进行隐藏通信的app,尤其是这些隐藏通信其实并没有被智能机主使用。...麻省理工大学最近的一项研究提出了一个问题:为什么app提供给用户没有任何好处且会带来极大安全隐患、占用带宽、极消耗电量的隐藏通信信道呢?...研究人员调查了Google Play中500个非常流行的免费Android app,这些app都存在远程服务器进行后台通信,研究人员还发现禁用这些信道之后所有应用还是"完好无损"。...沃尔玛App的隐藏通信有一点非常有趣,它有一个组件可以进行条形码扫描,但是连接到eBay的服务器。研究人员解释说,这点肯能并不奇怪,因为扫描库是由eBay的RedLaser创建的。...来自麻省理工计算机科学和人工智能实验室(CSAIL)的论文贡献者Julia Rubin告诉麻省理工新闻:"App制造商有一个很好的理由解释隐蔽通信。

79290

大众点评App的短视频耗电量优化实战

现在大家对手机越来越依赖,而上面各App的耗电量,直接影响了手机的待机时间,是用户非常关心的一点。本文主要通过一个典型案例,介绍App性能测试中的电量测试,并总结了我们由此引发的一些思考。...为了排除这个问题,重新编译了一个去掉动画音符的APK进行测试。测试结果: ? 从测试结果来看,CPU和耗电量很明显都下降了很多,因此确定是动画音符引起的。...动画音符柱状图的实现,之前设计由多个可变化的单柱形View组成,单个柱形View重写了onMeasure & OnDraw方法,从外部柱状图View中初始化单个柱子的高度,然后自动根据一个函数式来变化高度...目前行业内,App耗电测试有很多种方案,如果仅仅测试出一个整体的电量值,对于定位问题是远远不够的。...借助Battery Historian,可以查看自设备上次充满电以来各种汇总统计信息,并且可以选择一个App查看详细信息。

1.6K81

手写一个 web 服务器

前言 作为后端开发人员,在实际的工作中我们会非常高频地使用到web服务器。而tomcat作为web服务器领域中举足轻重的一个web框架,又是不能不学习和了解的。...tomcat其实是一个web框架,那么其内部是怎么实现的呢?如果不用tomcat我们能自己实现一个web服务器吗?...其次,本章我们将自己实现一个web服务器的。 http协议简介 http是一种协议(超文本传输协议),允许web服务器和浏览器通过Internet来发送和接受数据,是一种请求/响应协议。...因为服务器需要随时待命,它不清楚什么时候一个客户端会连接到它。在java里面,我们可以通过java.net.ServerSocket来表示一个服务器套接字。...这时,服务器通过生成一个Socket来对此连接进行处理。

1.5K20
领券