java - 什么时候使用 Android AlarmManager?

标签 java android android-alarms

我没有时间深入了解 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/

相关文章:

java - Checkstyle-IDEA IntelliJ 插件在应该显示问题时却没有显示问题

java - 如何在GUI中打印 'external'递归函数的答案?

android - 安装应用程序后安排每日警报

java - 如何在数据库表已填充 JPA 时正确设置 @Id 字段

java - 我如何使用maven作为构建工具将测试报告复制到不同的目录

JavaScript 接口(interface)可以工作,但需要调用该函数两次

Android:通过滑动而不是通过按钮保存表单数据

java - 使用 Maven 时在 Eclipse 中更改 Android R.java 的输出文件夹

android - 为什么 Android 会忽略通知的创建?

android - Android 的位置警报?