做应用的我们经常会碰到各种与系统相关的问题,不懂其中的原理总是会被各种问题困扰着无法前行。
虽然查了很多的资料得到一些解释,但我还是不太明白Android系统中手动关机和低电量时自动关机处理流程上有什么区别。
按我的理解,既然应用层有activity生命周期,那么必须有关机时通过关机广播,activityManager管理进行关闭当前应用,那么应用中做的一些恢复操作才是可靠的。
然而我遇见一个特别奇怪的问题,在我的应用程序中做了改变扫描按键的禁用的操作,但是在onPause()方法中做了恢复的操作,即使是没有在正常停止而是按了home键退出也会将其复原的,意外是在持续在应用中直至电量耗尽,再次充电开机之后,扫描按键还是禁用的状态,除非在程序中再次执行开关操作,才可以将其恢复。
猜想应该是电量偏低时关机未将应用关闭导致的,原则上关机那肯定是前台应用都必须退出的,至少应用层的onPause()方法会执行,也不至于出现这种状况。、
经验证测试发现该设备在电量耗尽时直接一闪即刻黑屏,之后充电开启之后扫描按键不可用,对于扫描按键禁用应该是断电保存的,其他正常的设备在低电量时会执行关机操作,并有关机动画显示,再充电开机之后将是正常。
原文:https://www.cnblogs.com/skyeblogs/p/9782362.html