Android 功耗问题debug处理(主要是睡眠时“大”电流问题的debug方法示例)
1. 在手机进入sleep后,被上层apk唤醒的debug方法
请抓取相应的待机的mobilelog,
从kernel_log中分析,
如果log中可以查找到
wake up by RTC
请在相应的main_log中查找关键字
Alarm triggering, 其后面对应的type 0, type 2所对应的APk就是唤醒系统的唤醒源,
例如:
从log 上看,问题是由于系统被alarm type 为0 & 2 的APK唤醒,分别为com.android.phone&com.google.android.gsf

01-03 13:47:52.018 653 699 V AlarmManager: Native set alarm :Alarm{41e4d570 type 2 com.android.phone}
01-03 13:47:59.056 653 699 V AlarmManager: Native set alarm :Alarm{42041000 type 2 com.google.android.gsf}

01-03 13:48:52.076 653 699 V AlarmManager: Native set alarm :Alarm{421dec08 type 2 com.android.phone}
01-03 13:48:58.264 653 699 V AlarmManager: Native set alarm :Alarm{41c04b80 type 0 com.google.android.gsf}
01-03 13:48:58.358 653 885 V AlarmManager: Native set alarm :Alarm{42007638 type 0 com.google.android.gsf}
01-03 13:48:59.090 653 699 V AlarmManager: Native set alarm :Alarm{41d47db8 type 2 com.google.android.gsf}

而release wakelock后(系统还是awake state),也会看到com.dewav.timewidget去要带有wakelock的clock, 请您去掉看看

01-03 13:49:00.355 1015 1015 V AppWidgetContext: package name: com.dewav.timewidget
01-03 13:49:00.355 1015 1015 V AppWidgetContext: context permission not changed 
01-03 13:49:01.168 653 699 V AlarmManager: Native set alarm :Alarm{41e02628 type 2 com.android.phone}

2. 而对于一些与modem相关的debug,需要结合kernel log/ radio log/net log/modem log来结合分析
在kernel中发现被唤醒的时间点,可以通过以下方式将kernel log和上层的时间点联系起来,在kernel log中搜索UTC(可能

在客户端抓取的话,需要时区转换)

在kernel中搜索CPU WAKE UP关键字,可以找到对应的时间点,在结合上图经过转换后,得到上层的时间。
若是在kernel log中发现,而main log中没有发现异常

<4>[ 281.333369]-(0)[5:kworker/u:0][PCM WAKEUP NORMAL]CPU WAKE UP BY: CCIF 
<5>[ 281.333369]-(0)[5:kworker/u:0][Power/Sleep] slp_abort_cnt:0,slp_normal_cnt:12
<7>[ 281.333702] (0)[5:kworker/u:0]enable(1), count(1) res=0
<7>[ 281.334564] (0)[5:kworker/u:0]enable(0), count(0) res=0
<4>[ 281.334574] (0)[5:kworker/u:0]usb save current success
<7>[ 281.335210] (0)[5:kworker/u:0]enable(0), count(0) res=1
<6>[ 281.335505]-(0)[5:kworker/u:0][Power/Kernel]:ws activate-> ccci_modem1

其中CPU WAKE UP BY: CCIF以及ws activate->ccci_modem1后,可以尝试查看radiolog中以及netlog中是否有对应时间点的
URC上报或者IP报收发。这两种case都会引起AP唤醒。

Android 功耗(14)----Android功耗 问题debug处理相关推荐

  1. android功耗测试方法,手机功耗测试指南

    和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分 功耗 知识点,通过阅读本篇文章,您将收获以下内容:1.测试功耗手机配置 2.飞行模式待机功耗 3.单SIM ...

  2. android官方wifidemo,Android应用开发:连接指定Wifi的Demo分享

    本文主要向大家介绍Android应用开发,给定App相应SSID及密码,连接指定WIFI,希望对大家学习Android应用开发有所帮助. 1.MainActivity.java包含工具类WifiAdm ...

  3. android广播教程,Android学习笔记(广播机制)

    1.Android的广播机制介绍 收听收音机也是一种广播,在收音机中有很多个广播电台,每个广播电台播放的内容都不相同.接受广播时广播(发送方)并不在意我们(接收方)接收到广播时如何处理.好比我们收听交 ...

  4. android后台通知,Android后台定时提醒功能实现

    前提:考虑到自己每次在敲代码或者打游戏的时候总是会不注意时间,一不留神就对着电脑连续3个小时以上,对眼睛的伤害还是挺大的,重度近视了可是会遗传给将来的孩子的呀,可能老婆都跟别人跑了. 于是,为了保护眼 ...

  5. Android Linux Alarm 对功耗的影响

    Android Linux Alarm 对功耗的影响 技术标签: alarm  rtc  android  linux 文章目录 1. Alarm介绍 1.1 alarm的几种类型及区别 1.2 al ...

  6. Android 系统性能优化(14)---Android性能优化典范 - 第2季

    1)Battery Drain and Networking 对于手机程序,网络操作相对来说是比较耗电的行为.优化网络操作能够显著节约电量的消耗.在性能优化第1季里面有提到过,手机硬件的各个模块的耗电 ...

  7. Unity程序在VR一体机(Android)上卡死(闪退)后怎么办?——用adb查看android上某Unity app的debug信息

    一.之前面临的困境 Unity的程序build到android一体机后,仿佛进入了一个黑箱子,你既看不到脚本的debug报错信息,也看不到任务管理器里的内存和CPU使用情况?如果黑屏.闪屏.花屏怎么办 ...

  8. 【Android】14.2 外部文件存储和读取

    分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 1.基本概念 内部存储的私有可用存储空间一般都不会很大,对于容量比较大的文件,例如视频等,应该将其存储在外部存储设 ...

  9. 【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★

    文章目录 一.Android 进程注入工具开发系列博客 二.Android 进程注入工具 源码下载编译 三.逆向环境搭建 四.使用注入工具进行逆向操作 1.获取远程进程号 2.注入工具准备 3.注入动 ...

  10. 精通android(Pro Android 4)面试题总结(一)

    有些知识会了,但不一定理解了机制,或者不会很深入体会.最近开始看<精通android>(Pro Android 4)这本书,发现书本后面有一些面试题,看了一下.发现还是有些帮助,不错!!就 ...

最新文章

  1. Linux Shell简介
  2. EPICenter: 用户管理
  3. ASP.NET使用log4Net日志组件教程(按日期与按日志大小切割)
  4. SQL中EXISTS的用法(转)
  5. 抄袭一些别人工作中的小技巧
  6. yii2通过url访问类中的方法_每日学点---nginx变量使用方法详解(3)
  7. JBoss-4.2.3.GA下发布EJB3项目遇到的问题之JSF篇
  8. 为什么学计算机的人不用360,为什么会电脑的人都鄙视他人安装360?
  9. 两年质保,只此一加!一加9系列推出两年质保
  10. Unicode数据类型(与ANSI关系和相互转化)
  11. MATLAB 读取txt文件(importdata函数)
  12. WindowsServers2019上手体验
  13. [转载]stl之string类用法详细总结
  14. 普中28335开发攻略_带你了解TI的DSP入门芯片TMS320F28335
  15. 神武4虚拟机 进不去怎么办 无法登陆我们应如何解决?
  16. icp光谱仪的工作原理_ICP基本原理解析.ppt
  17. 只能输入英文数字和下划线和横线的正则表达式
  18. C语言 键盘输入年月日,计算该年第几天
  19. UIImage 的图片平铺实现效果
  20. 网狐棋牌客户端连接服务器修改方法

热门文章

  1. 一个解除TCP连接的TIME_WAIT状态限制的简便方法
  2. linux NAND驱动之一:内核中的NAND代码布局
  3. STM32H7时钟树RCC分析--- HAL库配置(二)
  4. 计算机技术在风景园林中的应用和选择,数字技术在风景园林设计中的应用
  5. latex格式简要说明
  6. JSP 九大内置对象详解
  7. 15.【nuxt起步】-Nuxt使用jsweixin sdk
  8. 总结对象的两个方法valueof和tostring
  9. channel(4)定时器
  10. executable file and DLL