小米手机AlarmManager失效的问题

来源:互联网 发布:php array split 编辑:程序博客网 时间:2024/04/27 22:19

问题描述

当我们需要周期性执行某操作时,就会用到AlarmManager,但是在小米的手机上(严格的说应该是小米Rom)执行周期太短的话,一旦系统休眠,AlarmManager就会失效。搜索结果来看,这个问题很普遍。发现是周期不能短于5分钟,否则不会唤醒系统。

解决方案

这个问题主要是因为我们大多数人使用了type=AlarmManager.RTC_WAKEUP,希望系统休眠后到达指定时间唤醒设备执行操作,而且周期短于5分钟。小米Rom的考虑节能省电,一旦系统休眠,不会频繁唤醒系统。

结语

从实际使用和省电的角度考虑,这样做确实比较合理。应用打开期间,周期间隔可以短些,应用一旦放到后台,就应该把周期放长。但是小米的做法既是优化,又是对Android的碎片化,加重了开发者的负担,增加了开发成本。国内厂商的Rom很多深度定制导致了开发中会遇到形形色色的bug。。

0 0
原创粉丝点击