1

我还没有时间深入研究 AlarmManager,以及它在低级别上是如何工作的。我担心这个 API 的效率、费用和任何替代方案。任何人都可以对此事有所了解。具体来说,将 AlarmManager 设置为每隔几秒(至少 2-3 秒)运行一次 IntentService 是否有效?还是使用服务更好,并创建一个具有循环并每隔几秒暂停的不同线程?或者还有其他替代方案吗?

如果有人能分享一些关于使用 AlarmManager 或 Service 或任何其他方法的电源和内存消耗比较的见解,那就太好了。

我使用 AlarmManager 每隔几秒调用一次 IntentService 来运行一段代码,检查目标文件夹中是否有新文件。

4

1 回答 1

1

您不应该使用 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();
于 2013-01-20T10:35:26.177 回答