Android Asynctask vs Runnable vs timertask vs Service

sha*_*qat 18 service android runnable timertask android-asynctask

这些方法(类)之间有什么区别?

我想运行一个每5秒运行一次的应用程序,当它完成时清除内存,以及当cpu处于待机模式时,你可以运行该应用程序.因此应用程序不受唤醒锁定.

问候,

沙夫卡特

San*_*uys 31

前三个之间的差异就是为您完成的工作量.而一个服务是一个基本的Android应用程序组件.

AsyncTask作为一个便利类,用于在新线程上执行某些工作,并在完成时使用调用它的线程(通常是UI线程)的结果.它只是一个包装器,它使用了几个runnables,但处理了创建线程和处理线程之间消息传递的所有复杂性.

Runnable接口接口是在Java线程的核心.该Runnable的接口应该由任何类,其实例旨在由一个线程执行来实现.

TimerTask是标准Java的一部分,可用于某些(Runnable)代码的延迟或重复执行.在Android不鼓励使用它.您可以使用处理程序.

服务可以用作Android应用程序中独立且无UI的部分.它可以运行并创建自己的线程,例如可以通过AlarmManager为UI或Intent启动.

它认为你想要的是一个服务,它创建它自己的线程并做一些工作.当工作完成后,当垃圾收集器启动时,内存将在Android上被释放,这是你无法控制的东西,这是一件好事.

AlarmManager允许您以指定的时间间隔广播Intent,甚至允许控制唤醒设备.您只需在服务中定义BroadcastReceiver并在清单中声明它.

你的问题的最后一部分我真的不明白,所以请详细说明你想要完成的事情.