还没有毕业,等着论文送审期间之前老手机坏掉了,屏幕花了。现在又没有收入,红米K40就像一束光照向我的黑暗人生。
抢了几次都没有在平台上抢购到。。。但是经过网友指点,去了小米之家,终于预定到了。三天之后到货,拿到手真的是觉得太幸运了。艰难生活中总要有点色彩呀。
但是好不容易买到的K40也给我带来了烦恼。他一直无故异常重启呀。。。。瞬间又不爱了。。。。
我附上我的系统日志:
14号当天拿到,在小米之家让小哥哥帮忙开机的,一切正常:
我怀疑,这个RTC可能是有问题。查了一下资料,发现不简单呀。所谓RTC(Real Time Clock),就是用于关机时继续计算系统日期和时间。是基于硬件的功能。使用RTC做Alarm来设置power on/off。我找到一些RTC芯片的照片:
一般而言RTC都是要保持供电的。所以可以看到有个纽扣电池。手机上的应该比这个要精细啦。
参考了一个博主写的编程部分:https://www.cnblogs.com/lingjiajun/p/11104368.html
内核的开机时间首先是从RTC读取的时间作为基准,之后会通过QCOM time daemon进行corection。QCOM time daemon的代码非open source,所以暂不分析。这里我们仅分析RTC的部分。
而RTC的时间,我们知道第一次开机,这里指的是RTC断电后的第一次开机,RTC时间是1970-01-01 00:00:00(初始时间),这个值就是从RTC中读取出来的。而在使用一段时间之后,再重启手机,这时RTC的时间为=初始时间+使用的时间。也就是说,这个时间会随着使用而不断累计,除非RTC掉电,重置为初始时间。RTC也支持将同步后的时间再次写入RTC,用于校准当前的正确日期和时间。
所以我的第一张日志,第一个开机日期就是1970年,这就说得通了。
那么我的RTC异常自动重启是什么原因呢?联想到有些米粉也出现重启,并且时间混乱的情况,我猜测可能RTC驱动出现了问题,导致时间倒流?然后系统遇到了异常,就重启了。重启之后RTC可能调用了自动同步的流程,时间就恢复了。
那么为了验证,我特意把闹钟等等定时任务全部关闭,今天早上起来的时候,手机是好的,没有重启,我也会持续观察。(希望不是RTC芯片的问题,硬件问题可咋办呀?)
我今天查看了闹钟以及很多设置,发现他在早上起床之前有查询早间新闻(生活早报)之类的的新闻咨询,可能在闹钟触发之前,系统有一个另外的触发器在这之前被触发,读取新闻资讯信息,这个时候出现了异常?导致了RTC重启?
总而言之,小米赶紧修复吧,实在是太烦恼了。