官网解释

转载请注明出处:https://blog.csdn.net/m0_37840695/article/details/119494349

1.编写代码

public class MainActivity extends AppCompatActivity {private static final int MSG_HEART = 100;private static final int HEART_DURATION = 5_000;private static File HEART_LOG_FILE;private Handler mHandler;private HandlerThread mHandlerThread;private long mSwitch2BgTimeStamp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);HEART_LOG_FILE = new File(getExternalFilesDir("") + File.separator + "heart.log");initHandler();}private void initHandler() {mHandlerThread = new HandlerThread("heart_HT");mHandlerThread.start();mHandler = new Handler(mHandlerThread.getLooper()) {@Overridepublic void handleMessage(@NonNull Message msg) {super.handleMessage(msg);switch (msg.what) {case MSG_HEART: {//next heartheartAfterPaused();if (mSwitch2BgTimeStamp == 0) break;//1.heart via network// TODO: 2021/8/7//2.file loglong timeInMin = (System.currentTimeMillis() - mSwitch2BgTimeStamp) / HEART_DURATION;FileIOUtils.writeFileFromString(HEART_LOG_FILE, "heartAfterPause : " + timeInMin + "(m)\r\n", true);Log.d("MainActivity", timeInMin + "(m)");}}}};}@Overrideprotected void onDestroy() {super.onDestroy();if (mHandlerThread != null) mHandlerThread.quit();if (mHandler != null) mHandler.removeCallbacksAndMessages(null);}private void heartAfterPaused() {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {mHandler.sendEmptyMessage(MSG_HEART);}}, HEART_DURATION);}@Overrideprotected void onPause() {super.onPause();if (mSwitch2BgTimeStamp == 0) {// switch 2 backgroundmSwitch2BgTimeStamp = System.currentTimeMillis();heartAfterPaused();}}
}

2.安装app(手机:荣耀I20)

3.关闭开发者模式

为了排除开发者模式的影响。

4.杀所有进程

为了使手机内存充足,不至于app置于后台时被杀。

3.启动app+返回home界面

一小段时间以后,app将进入闲置状态(行为受待机模式限制,具体哪些限制要看本app被放在哪个存储分区中)。按照官方的说法,应用待机模式下,CPU和网络活动都会暂停。

4.回到app

确定不是重新启动;此时app从闲置状态重新回到active状态,CPU活动正常。

5.查看打印文件

heartAfterPause:1(m)

heartAfterPause:2(m)

heartAfterPause:3(m)

heartAfterPause:10(m)

heartAfterPause:11(m)

heartAfterPause:12(m)

(注:说明在3个5秒钟后,app进入待机模式,CPU活动被停止;第10个5秒钟时重新变成前台进程,CPI活动恢复正常)

电量优化-应用待机模式(实验)相关推荐

  1. 【Android 电量优化】电量优化特性 ( Doze 低电耗模式 | Standby 应用待机模式 | 白名单设置 | 白名单添加系统设置界面 | 指定应用的白名单添加界面 | 测试应用 )

    文章目录 一.Doze 低耗电模式简介 二.Standby 应用待机模式简介 三.Doze 和 Standby 模式测试 四.白名单添加 ( 方式一 ) 五.白名单添加 ( 方式二 ) Android ...

  2. (两百七十)学习 针对低电耗模式和应用待机模式进行优化

    https://developer.android.google.cn/training/monitoring-device-state/doze-standby 针对低电耗模式和应用待机模式进行优化 ...

  3. Android电量优化(1)——了解低电耗模式

    文章目录 了解低电耗模式 将应用调整到低电耗模式 了解应用待机模式 对其他用例的支持 在低电耗模式和应用待机模式下进行测试 了解低电耗模式 如果用户设备未插接电源.处于静止状态一段时间且屏幕关闭,设备 ...

  4. stm32l0的停止模式怎么唤醒_探索者 STM32F407 开发板资料连载第二十二章 待机唤醒实验

    1)实验平台:alientek 阿波罗 STM32F767 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第二十二章 待机唤醒实 ...

  5. stm32l0的停止模式怎么唤醒_「正点原子STM32Mini板资料连载」第十九章 待机唤醒实验...

    1)实验平台:正点原子STM32mini开发板 2)摘自<正点原子STM32 不完全手册(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第十九章 待机唤醒实验 本章我们将向 ...

  6. AlarmManager针对低电耗模式和应用待机模式进行优化

    从 Android 6.0(API 级别 23)开始,Android 引入了两项省电功能,通过管理应用在设备未连接至电源时的行为方式,帮助用户延长电池寿命.当用户长时间未使用设备时,低电耗模式会延迟应 ...

  7. 你是否了解APP耗电问题?深入探索 Android 电量优化,flutter插件推荐

    3).最后,把电量输送给电池,而整个降压的过程中会产生热能. 分类 1).高压低电流快充方案:在充电过程中提升充电电压(7-20V)来提升充电功率. 2).低压大电流快充方案:在电压一定情况下,增加电 ...

  8. Android 系统性能优化(77)---电量优化

    Android 优化--电量优化 Android 5.0 后用 Battery Historian 工具分析电量. 耗电因素 移动网络请求 手机通过内置的射频模块和基站联系,从而链接上网的,而这个射频 ...

  9. [STM32F1]STM32 低功耗待机模式与RTC周期唤醒

    STM32等类似Cortex-M3的MCU在系统或电源复位以后,MCU就会处于程序运行状态.当用户不需继续运行程序时,可以利用进入低功耗模式来节省电池电量,当需要重新运行时,可以通过特定条件进行唤醒程 ...

最新文章

  1. 深度学习中各激活函数的优缺点
  2. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,上海交通大学继续教育学院2012春——程序设计(C)作业1(有答案)...
  3. 应用程序 /dev/rtc 编程 获取时间 2011-12-13 01:01:06【转】
  4. strstrsubstr、AfxGetApp
  5. flowable实战(十五)关于流程设计器 bpmn.js与vue的整合
  6. python偏函数和高阶函数_【Python入门】8.高阶函数之 匿名函数和偏函数
  7. 初阶和高阶产品之间的核心差距
  8. mysqld或mysqld_safe启动时必须放在第一位的参数(first argument)
  9. QT 笔记6 | Qt网络编程
  10. @JSONField的一些使用基础
  11. 基于FPGA的VGA/LCD显示控制器设计(下)
  12. java判断接口地址是否存在_java.util.Iterator接口中的hashNext()方法是用来判断集合中是否存在下一个元素的()_学小易找答案...
  13. 胡须清洗的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  14. 神威 计算机 应用,Gromacs在神威蓝光超级计算机上的部署和应用(2)
  15. excel二进制移位运算_Excel揭秘13:在Excel中实现位运算
  16. HoloLens2电脑投屏设置及IP访问问题解决
  17. 印度狂妄,华为和中兴在印度5G设备市场面临不确定性,三星却已占领市场
  18. UCOSII源码分析五——任务优先级与任务调度
  19. RADOS:一种可扩展高可用的PB级存储集群(Ceph)
  20. Python+Selenium实现12306买票

热门文章

  1. 炸燃!《英雄联盟手游》反向跳票!十一大免费福利攻略!不限号不删档全面开启公测!速度冲~!
  2. html表格打印成pdf格式文件,使用html2pdf打印PDF格式文件中的数据作为PDF文件
  3. 通过编写k8s的资源清单yaml文件部署gitlab服务
  4. Linux 进程卡住了怎么办?
  5. 验证码不显示该怎么办
  6. GPU 与 CPU 的数据交互
  7. openCV-python实现颜色识别
  8. linux课程_【课程完结】嵌入式Linux应用/驱动开发基础知识两大篇章已全部录制完毕 共72集...
  9. 想入门计算机专业该怎么学算法
  10. 【opencv】角点检测——虚线表格