java - 如何创建可靠的重复任务?
问题描述
我对 Android(和 java)编程真的很陌生。我正在努力创建一个可靠的重复后台任务。它应该经常运行,假设每 10 秒运行一次,即使手机处于睡眠状态。我已经尝试了很多东西,但没有成功。
据我所知,AlarmManager 在约 15 分钟的时间间隔内不可靠。也尝试使用 FireBase JobDispatcher。
现在我在后台使用带有 scheduleAtFixedRate 的 service 和 timertask 。到目前为止,这是最好的,但仍然不可靠。在任务的每次运行中,我都必须读取数据库,如果需要,做一些通知,并将一些数据写入数据库。
我也在使用 FULL_WAKE_LOCK,但仍然有很多丢失的通知,或者有时我会在几分钟内同时收到 10-20 个通知。
什么是完成这项工作并使其可靠的正确方法?(目前无法从服务器端推送)
解决方案
推荐阅读
- vb.net - 如何计算内部收益率(IRR)?
- reactjs - React 导入部分大括号的含义 | 还原
- angular - util方法的静态字段或const函数?
- equality - 为什么J公理在给出x,y的签名时需要2 x?
- java - 当用户选择复选框时如何在 Chrome 浏览器中取消选择复选框,导航到不同的页面并返回到同一个页面
- c++ - 为什么 OpenMP 比用于简单缩减的顺序程序慢?
- spring - 如何在 Spring Boot 应用程序中记录验证错误
- python - python中矩阵的最大列和行总和
- sorting - 对 .dat 文件的内容进行排序
- user-interface - 如何在 React-Native-Elements 中使用 AntDesign 图标