android待机
⑴ 请推荐一款android智能手机,待机时间要长!
荣耀9X不错的,以下是手机参数:
1.电池:电池容量:4000mAh(典型值),标配5V/2A充电器,理论充电时间约2小时,续航能力提升,玩一天还有电!
2.拍照:后置摄像头:4800万+200万像素,f/1.8光圈,支持自动对焦(相位对焦/反差对焦),前置摄像头:1600万像素,f/2.2光圈。细节放大也清晰,随时随地拍夜景大片。
3.屏幕:屏幕尺寸6.59英寸,屏幕色彩1670万,分辨率:1080*2340,观影时色彩更鲜明,细节更清晰,光感更悦目。
4.性能:采用Kirin 810八核处理器,搭载GPU Turbo3.0革命性游戏加速技术,让你的手机随时变身“游戏机”,重载游戏轻松高帧运行。
您可以登录华为商城官网了解更多信息,进行选择。
⑵ Android 休眠唤醒频繁问题分析的一些工具
大家都知道目前的手机,平板等电子设备耗电都比较大,Android系统因为历史和开源等原因,一直对耗电支持的不是很好。特别现在很多apk完全不care耗电,动不动给你装上全家桶,还会相互间互相唤醒进程,简直就是流氓软件。从现有的应用来说,为了他们商业目的,有很多是类似要求长期后台运行的,或者定时运行的,这些服务对耗电影响都非常大。
虽然Android每次版本大更新,都对其进行了优化,加入了很多特性。比如在Android 5.0加入了JobScheler API机制(批处理);在Android 6.0加入App Standby(应用待机),Doze休眠机制;并且在Android7.0谷歌对Doze休眠机制做了进一步的优化,只要手动在后台删掉应用卡片,关屏后该应用就会被很快深度休眠。
但是应用开发工程师由于各种原因没有使用新的特性,导致用户感觉设备耗电还是很大。所以国内很多手机厂家都有对android系统的耗电进行优化,从原理来说,目前这些厂家也是主要对两方面进行优化:
1.减少定时休眠唤醒频率,比如合并应用申请的定时唤醒闹钟来唤醒已经休眠的设备。
2.减少wake lock的频率和时间。只要系统中存在任一有效的wake_lock,系统就不能进入深度休眠,但可以进行设备的浅度休眠操作。wake_lock一般在关闭lcd、tp但系统仍然需要正常运行的情况下使用,比如听歌、传输很大的文件等。
可通过如下打印来确认唤醒源:
<4>[ 1321.989235] wakeup gpio0: 00000010
具体意思如下:
gpio0:表示是GPIO0
00000010:表示的是GPIO分组从高到低四个字节分别是:DCBA,每个字节的0-7bit就表示D7-D0 C7-C0 B7-B0 A7-A0.
从这里可以看出上面唤醒的GPIO是:GPIO0 PA4,对应的是RTC的中断脚。
通过mpsys alarm命令打印可以看到哪个应用唤醒次数比较多,和总共占用的时间:
这里的唤醒统计的是:应用申请 RTC_WAKEUP 或 ELAPSED_REALTIME_WAKEUP 的Alarm。不管系统是否在休眠,都会产生Alarm,所以这里的Alarm次数与第一章中说的kernel中统计的被RTC中断唤醒的次数是匹配不上的,前都会大于后者。
看下Android系统定义的休眠唤醒不同的类型。
这个信息可以通过Project Volta里的工具historian.py将其图形化显示。
先导出bugreport
将其转换成图形化结果(目前好像只有网络浏览器才能打开这个html)
简单说明如下:
1.横轴是时间
2. wifi_scan指的是wifi处于扫描
3. wifi_running指的是wifi打开状态
4. screen指的是屏亮的状态
5. plugged指的是插入外设
6. wake_lock指的是kernel中被锁住的状态
可通过screen与wake_lock来初步确认系统是否被唤醒,如果screen是关的,然后又有wake_lock,也表明系统被唤醒并被锁住一段时间。
把上层的唤醒和wifi唤醒都关了,测试了39个小时消耗30%电量
有以下几个问题:
1.唤醒次数的确少了,但是healthd每10分钟唤醒在图上体现不出来
2.有2次唤醒后,系统被锁住10多钟才休眠下去
查看Alarm状态,可以很明显看到上层没有再去wake up
但是驱动中还看到有被RTC唤醒,经过验证是healthd唤醒的,不插充电的时候10分钟,插充电的时候1分钟间隔。这个唤醒后就更新battery的信息,上层Baterry更新下,UI刷新下。
系统被锁住10几分钟,通过log分析在wifi断开的时候,gms刚好去连接服务器,通讯很久造成wake 比较久。从下面的信息可以判断,系统目前wake lock线程最多的是gms线程。
Wake lock 在Android的电源管理系统中扮演一个核心的角色,wakelock是一种锁的机制, 只要有task拿着这个锁, 系统就无法进入休眠, 可以被用户态进程和内核线程获得。这个锁可以是有超时的或者是没有超时的, 超时的锁会在时间过去以后自动解锁。如果没有锁了或者超时了, 内核就会启动标准Linux的那套休眠机制机制来进入休眠。
提高电池续航,也就意味着减少系统和程序的电量消耗。为此 经过测试发现,每次唤醒设备,1-2秒的时候,都会消耗2分钟(个别应用更久)的待机电量,可见每次唤醒设备的时候,不仅仅是点亮了屏幕,系统也在后台处理很多事情。
电池消耗比较大,从系统的行为上分析,有两个地方影响最大
1.系统在被唤醒的期间,被一些应用wake lock比较久,造成很久时间无法再进入二级休眠。
2.系统频繁的被唤醒,系统被唤醒目前包含三个唤醒源
(1).系统上层通过AlarmMananger的接口注册rtc唤醒,
(2).wifi芯片自动唤醒,
(3).电池healthd定频唤醒。
所以如果应用比较多的时候,应用在唤醒期间动作比较多,容易造成系统被wake lock,从而不会很快的进入二级休眠。
通过上述的分析来看,系统可以优化的地方有4个方面。
1).查看系统wake lock最多的线程,看能不能优化。
2).系统上层过滤的应用唤醒行为,从而降低唤醒频率。AlarmManager包含四种类型定时策略,AlarmManager.ELAPSED_REALTIME、AlarmManager.ELAPSED_REALTIME_WAKEUP、AlarmManager.RTC、AlarmManager.RTC_WAKEUP、AlarmManager.POWER_OFF_WAKEUP。
其中应用申请RTC_WAKEUP或ELAPSED_REALTIME_WAKEUP的Alarm在系统休眠的情况下会唤醒系统。通过建立白名单或者黑名单的方式过滤此种应用的唤醒行为
3). 定时批处理一批操作,压缩硬件唤醒时间,就像心跳一样,让硬件充分休息,还有就是精确监测应用请求,智能安排请求执行时间,让资源利用最大化。
4).扩大healthd的定频唤醒间隔(适度不然造成电池电量不准)
最后改一张调整过的电池状态图:
⑶ 安卓12怎么关闭待机
安卓12关闭待机方法闭迹者。
1、进入手机设置,在设置轿薯页面选择显示。
2、在显示页面找到休眠州拆选项,在弹出菜单的选项里选择永远不要。
⑷ 安卓手机怎么设置待机时显示时间,就是屏幕黑了以后还可以显示时间
安卓手机怎么设置待机时显示时间的方法为:设置里面---常规--个性化设置--主题模式--节电保护--选择日期和时间
1、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
2、尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。
3、2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
4、第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
5、 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。[1] 2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
⑸ 安卓待机应用状态四种模式
分别是active, working_set, frequent, rare。
待机状态active为最高等级。rare为最低。
待机状态均指手机或电脑等电子设备的开机但是不进行任何实质性工作(即不对文件和程序的各种操作)的状态。
待机是将当前处于运行状态的数据保存在内存中,机器只对内存供电,而硬盘、屏幕和CPU等部件则停止供电。由于数据存储在速度快的内存中,因此进入等待状态和唤醒的速度比较快。不过这些数据是保存在内存中 ,如果断电则会使数据丢失