20180828 BugReport WifFi 信号差导致的功耗大现象

2024-02-09 20:32

本文主要是介绍20180828 BugReport WifFi 信号差导致的功耗大现象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.WifFi 信号差导致的功耗大现象

2018-08-21 18:28:38 - 00:48:13,期间 6 小时 20 分钟内 耗电 100% - 87%,存在大功耗问题

 WifFi 信号差导致的功耗大现象

2. 功耗异常原因

2.1. WiFi 信号强度差,需要不断改变功率,导致CPU的不断唤醒

具体唤醒如下

 Kernel Wakeup Reasons:
Show  entriesSearch:
Ranking Name    Duration / Hr   Count / Hr  Total Duration  Total Count Show Count vs Time
0   unknown 22m50s941ms 1697.20 6h32m14.3s  29135   
1   Abort:Pending Wakeup Sources: WLAN AHB ISR  8m10s819ms  914.69  2h20m25.655s    15702   
2   Abort:Pending Wakeup Sources: WLAN TX THREAD WLAN AHB ISR   2m37s602ms  285.38  45m5.493s   4899    
3   Abort:Last active Wakeup Source: WLAN AHB ISR   2m13s379ms  240.53  38m9.668s   4129    
4   Abort:Last active Wakeup Source: pmicAuxadc irq wakelock    40s609ms    70.25   11m37.124s  1206    
2.2. 手机信号强度同样也不尽如人意

moderate 持续了 6h 19m 32s 365ms

Mobile signal strength
Aug 21 2018
18:28:41 - 00:48:13
+49m07s376ms to +7h08m39s741ms
active duration: 6h 19m 32s 365ms
1 occurencesMobile signal strength | Number of times | Total duration  
moderate               | 1               | 6h 19m 32s 365ms
2.3. 待机模块下JobScheduler 唤醒时段
2.3.1 com.android.bankabc 农行掌上银行

19:56:51 - 20:01:06 唤醒达到 50次,唤醒过度异常

JobScheduler
Aug 21 2018
19:56:51 - 20:01:06
+2h17m17s520ms to +2h21m32s482ms
active duration: 6s 609ms
50 occurencesJobScheduler                                              | Number of times | Total duration | Actual event times                                                                                                                                                                             
com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2 | 50              | 6s 609ms       | [19:56:51 - 19:56:51], [19:56:56 - 19:56:56], [19:57:01 - 19:57:01], [19:57:06 - 19:57:06], [19:57:11 - 19:57:11], [19:57:17 - 19:57:17], [19:57:21 - 19:57:22], [19:57:27 - 19:57:27], [19:57:33 - 19:57:33], [19:57:37 - 19:57:38], [19:57:43 - 19:57:43], [19:57:48 - 19:57:48], [19:57:53 - 19:57:53], [19:57:58 - 19:57:59], [19:58:03 - 19:58:04], [19:58:08 - 19:58:09], [19:58:14 - 19:58:14], [19:58:19 - 19:58:20], [19:58:24 - 19:58:25], [19:58:30 - 19:58:30], [19:58:35 - 19:58:35], [19:58:41 - 19:58:41], [19:58:46 - 19:58:46], [19:58:50 - 19:58:51], [19:58:56 - 19:58:56], [19:59:01 - 19:59:01], [19:59:06 - 19:59:06], [19:59:11 - 19:59:11], [19:59:17 - 19:59:17], [19:59:23 - 19:59:23], [19:59:27 - 19:59:28], [19:59:32 - 19:59:33], [19:59:37 - 19:59:38], [19:59:43 - 19:59:43], [19:59:48 - 19:59:48], [19:59:53 - 19:59:53], [19:59:58 - 19:59:59], [20:00:03 - 20:00:04], [20:00:08 - 20:00:09], [20:00:13 - 20:00:14], [20:00:18 - 20:00:19], [20:00:24 - 20:00:24], [20:00:29 - 20:00:29], [20:00:34 - 20:00:34], [20:00:39 - 20:00:39], [20:00:45 - 20:00:45], [20:00:50 - 20:00:51], [20:00:55 - 20:00:56], [20:01:01 - 20:01:01], [20:01:05 - 20:01:06]

对比其他的唤醒源,就 com.android.bankabc 后台大量唤醒

 JobScheduler Jobs:
Show  entriesSearch:
Ranking Name    Uid Duration / Hr   Count / Hr  Total Duration  Total Count
0   com.android.bankabc : com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2 10078   561ms   69.38   9.631s  1191
1   com.snda.wifilocating : com.snda.wifilocating/com.lantern.daemon.JobSchedulerService    10119   164ms   0.70    2.828s  12
2   com.tencent.reading : com.tencent.reading/com.tencent.news.push.pullwake.jobsched.JobService    10135   83ms    0.76    1.436s  13
3   com.meelive.ingkee : com.meelive.ingkee/.business.room.socketio.connection.internal.KAJobService    10103   67ms    0.52    1.151s  9
4   com.sankuai.meituan : com.sankuai.meituan/com.dianping.base.push.pushservice.PushWakeUpJob  10115   64ms    0.35    1.108s  6
2.3.1 com.android.bankabc 具体唤醒数据
Application com.android.bankabc
Version Name    3.7.3
Version Code    23
UID 10078
CPU user time   1s 920ms
CPU system time 1s 225ms
Device estimated power use due to CPU usage 0.00%Wakelocks:
Show  entriesSearch:
Wakelock Name   Full Time   Full Count  Minimum total partial Time  Partial Count   Window Time Window Count
*job*/com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2     0   2s 897ms    951     0
Showing 1 to 1 of 1 entriesPrevious1NextProcess info:
Show  entriesSearch:
Process Name    User Time   System Time Foreground Time # Starts    # ANRs  # Crashes
com.android.bankabc:CMCoreService   1s 930ms    1s 230ms        0   0   0
Showing 1 to 1 of 1 entriesPrevious1NextScheduled Job:
Show  entriesSearch:
Job Name    Total Time  Count
com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2   9s 631ms    1191
Showing 1 to 1 of 1 entries

3. 解决思路

  1. 重新进行测试,放置到信号位置OK的地方
  2. 暗屏过程中,尤其是dile模式下,禁止 com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2 唤醒,或进行唤醒次数控制
08-22 09:20:03.514836  1040  1040 D PowerManagerNotifier: onWakeLockAcquired: flags=1, tag="*job*/com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2", packageName=android, ownerUid=1000, ownerPid=1040, workSource=WorkSource{10078}08-22 09:20:03.516849  1040  1040 D PowerManagerNotifier: onWakeLockReleased: flags=1, tag="*job*/com.android.bankabc/com.feinno.teatalkavsdk.service.Keep2", packageName=android, ownerUid=1000, ownerPid=1040, workSource=WorkSource{10078}

这篇关于20180828 BugReport WifFi 信号差导致的功耗大现象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695210

相关文章

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以

DAY16:什么是慢查询,导致的原因,优化方法 | undo log、redo log、binlog的用处 | MySQL有哪些锁

目录 什么是慢查询,导致的原因,优化方法 undo log、redo log、binlog的用处  MySQL有哪些锁   什么是慢查询,导致的原因,优化方法 数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。 导致的原因: 查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询,可能导致执行时间较长。查询数据量大:当查询的数据量庞大时,即使查询本身并不复杂,也可能导致

71-java 导致线程上下文切换的原因

Java中导致线程上下文切换的原因通常包括: 线程时间片用完:当前线程的时间片用完,操作系统将其暂停,并切换到另一个线程。 线程被优先级更高的线程抢占:操作系统根据线程优先级决定运行哪个线程。 线程进入等待状态:如线程执行了sleep(),wait(),join()等操作,使线程进入等待状态或阻塞状态,释放CPU。 线程占用CPU时间过长:如果线程执行了大量的I/O操作,而不是CPU计算

温差电现象

温差电现象练习题 1. 两种不同的金属A和B构成温差电偶,冷端温度为0℃,热端温度为T,塞贝克系数为αAB,写出热电势的表达式。 2. 什么是温差电动势?它与哪些因素有关? 3. 解释珀尔帖效应和汤姆逊效应,并说明它们之间的区别。 4. 一块长为10cm,截面积为1mm2 的铜条,两端温度差为100K,铜的电导率为5.8×107 S/m,计算通过铜条的热流密度。 5. 一个温差电偶的热电