Too many alarms (500) registered
来源:互联网 发布:淘宝直通车图片大小 编辑:程序博客网 时间:2024/05/17 22:01
公司项目开发时,同事见解总结。BUG基本都是在三星机器上出现。
1.PendingIntent.getBroadcast的第4个参数flags,建议用PendingIntent.FLAG_UPDATE_CURRENT,因为FLAG_CANCEL_CURRENT只是给Intent打上cancel标记,并没有立即取消,而FLAG_UPDATE_CURRENT只是更新那个Intent的状态,不会产生新的Intent。(可通过 adb shell dumpsys alarm 查看应用alarm相关信息)
2.PendingIntent.getBroadcast的第2个参数requestCode可以用来区分不同的闹钟。requestCode应当是一个常量,不然会产生多个闹钟。
3.不要使用AlarmManager.setRepeating方法。setRepeating注册的闹钟会常驻在Android系统进程里,那怕应用进程被杀掉,闹钟也不会被取消。如果需要重复性的闹钟,可以在接到闹钟广播后,再重新启动一个闹钟,自己模拟setRepeating。
示例代码:
Intent intent = new Intent("com.example.action.alarm");PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, requestCode, intent,PendingIntent.FLAG_UPDATE_CURRENT); mAlarmManager.set(AlarmManager.RTC_WAKEUP, sTime, pendingIntent);
修改后覆盖安装,可能还有这个问题。因为覆盖安装,旧版本注册的闹钟还在,只有重启手机才会清空。
0 0
- Too many alarms (500) registered
- Too many alarms (500) registered
- Too many alarms (500) registered
- Too many alarms (500) registered
- java.lang.SecurityException: !@Too many alarms (500) registered from pid 10790 uid 10206
- Too many connections
- too many open files
- too many open files
- mysql: Too many connections
- too many unprocessed floats
- too many unprocessed floats
- Too many open files
- Too many input arguments.
- mina too many files
- too many open files
- shell [: too many arguments
- mysql Too many connections
- Too many open files
- linux下python3.4配置matplotlib的问题
- Xcode7 添加PCH文件
- 一些基本的opencv图像预处理函数直接用法(灰度化,otsu二值化,腐蚀膨胀,canny)
- [DP] BZOJ 2958 序列染色
- ubuntu 15.04 安装genymotion
- Too many alarms (500) registered
- 九针串口接线问题, 232, 485
- 漫谈程序员(十二)IT程序猿之猿体是革命的本钱
- 获取视图树,对结束事件进行监听,layout结束回调onGlobalLayout方法
- Android weight属性
- 如何关闭android的一个service
- [CSAPP]计算机存储系统初步
- Future方式中断线程实现
- "天天背单词"--的设计与实现(三)