欢迎光临
专注android技术,聚焦行业精粹,我们一直在努力

Android 一个简单的定时任务

对于android开发中经常遇到的异步定时任务的问题,android提供了丰富的工具来支持,例如Handler, HandlerThread, AsyncTask, Loader, ExecutorService,详细可以参考这篇文章:Android线程任务剖析

简单的分下类:

A. 处理线程之间交互,例如主线程与用户线程,用户线程之间

包括:Handler, HandlerThread, AsyncTask, Loader

区别:

  • Handler,HandlerThread:是单线程的,用消息队列的方式在工作线程中处理任务
  • AsyncTask:处理工作线程与UI线程的交互,有自己的线程池
  • Loader:处理了线程与Activity生命周期的关系,AsyncTaskLoader是AsyncTask的升级版

 

B. 线程池管理,定时任务等

包括:ExecutorService, ScheduledThreadPoolExecutor

上面的A部分可以理解为是适用于app开发中提升开发效率的工具,它主要解决了大部分App的使用场景。如果你开发一个简单的App那么A部分也就够用了。至于B部分会是较为灵活,且功能强大的线程工具了,B部分只关注线程管理,其它的事情需要你自己关注了。你可以用B结合A一起定制成一款适用于你自己App的异步任务管理

熟悉上面介绍的android A和B的线程工具类,你就基本可以打遍天下都不怕了,当然gitHub上面有很多的线程框架,你用它们当然最快了。我个人推荐这个android-priority-jobqueue

如果你想自己自定义延迟任务该如何运行,以下提供一个例子供你参考,核心思想是使用Object.wailt(long timemills)

一段demo代码,适用于排队处理多个定时任务,支持添加任务,取消当前任务,关闭功能:

 

赞(0) 打赏
未经允许不得转载:花花鞋 » Android 一个简单的定时任务
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

国内精品Android技术社区

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏