【问题标题】:Android schedule actionAndroid 计划操作
【发布时间】:2010-02-25 11:47:21
【问题描述】:

做了一段时间我发现有几个选择:

  1. 使用报警管理器
  2. 使用 ScheduledExecutorService
  3. 使用Handler的方法postDelayed

这一切有什么大的不同?制定计划行动的最佳做法是什么?

【问题讨论】:

标签: android


【解决方案1】:
  1. AlarmManager 是全局“定时器”,这个人可以唤醒你的应用程序,即使它没有启动。沉重的家伙。
  2. ScheduledExecutorService:标准的 Java 方式来做一些计划的事情,用在 JSE 中,对 Java 开发人员来说简单而熟悉。该作业将在与调度此作业的 UI 或线程不同的线程中执行。非常适合不处理 UI 和处理冗长繁重内容的服务。
  3. Handler:Android 调度作业的方式,作业在 UI 线程中执行(如果处理程序是在 UI 中创建的),所以它不能进行非常繁重的处理,否则它只会冻结你的 UI。

【讨论】:

    【解决方案2】:

    AlarmManager 独立于您的应用程序,并保证任务将运行。
    另外两个作为Activity/Service 的一部分运行,具有相应的生命周期限制(例如,可以随时终止)。

    【讨论】:

    • 不仅如此,当设备被锁定并且 CPU 进入睡眠状态时,即使应用进程没有被杀死,它也不会触发。
    猜你喜欢
    • 2011-06-25
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 2021-05-09
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多