我没有时间深入了解 AlarmManager,以及它在底层的工作原理。我担心效率、费用以及此 API 的任何替代方案。任何人都可以对此事有所了解。具体来说,将 AlarmManager 设置为每隔几秒(至少 2-3 秒)运行一次 IntentService 是否有效?还是使用服务并创建一个具有循环并每隔几秒暂停一次的不同线程更好?或者还有其他替代方案吗?
如果有人可以分享一些关于使用 AlarmManager 或 Service 或任何其他方法的功耗和内存消耗比较的见解,那就太好了。
我正在使用 AlarmManager 每隔几秒调用我的 IntentService 以运行一段代码来检查目标文件夹中是否有新文件。
最佳答案
您不应该使用 AlarmManager 甚至 IntentService 来检查目标文件夹中是否有新文件。 Android 有 FileObserver类以在没有繁忙循环的情况下检查它。
FileObserver observer = new FileObserver("path/to/target", FileObserver.CREATE) {
@Override
public void onEvent(int event, String filename) {
if (event == CREATE) {
Log.i("Info", filename + " has been added to folder");
}
}
};
observer.startWatching();
关于java - 什么时候使用 Android AlarmManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14423573/