这些方法(类)有哪些区别?
我想运行一个每隔5秒运行一次的应用程序,在完成时清除内存,并在CPU处于待机模式时可以运行该应用程序。因此,该应用程序不会绑定到wakelock。
敬礼,
沙夫卡特
这些方法(类)有哪些区别?
我想运行一个每隔5秒运行一次的应用程序,在完成时清除内存,并在CPU处于待机模式时可以运行该应用程序。因此,该应用程序不会绑定到wakelock。
敬礼,
沙夫卡特
前三者之间的区别仅在于为您完成的工作量不同。而服务是一种基本Android应用程序组件。
AsyncTask是一个方便的类,用于在新线程上执行一些工作,并在完成时在调用它的线程(通常是UI线程)上使用结果。它只是一个包装器,使用了一些可运行对象,但处理了创建线程和处理线程之间消息传递的所有复杂性。
Runnable接口是Java线程的核心。任何打算由线程执行其实例的类都应该实现Runnable接口。
TimerTask是标准Java的一部分,可用于延迟或重复执行某些(可运行)代码。在Android上,它的使用受到不鼓励。您可以使用Handler代替。
一个服务可以作为您的Android应用程序中独立和无UI的部分使用。它可以运行并创建自己的线程,并可以通过AlarmManager例如启动UI或使用意图。
我认为你想要的是一个创建自己的线程并执行一些工作的服务。当工作完成时,当垃圾收集器开始工作时,内存将在Android上被释放,这是您无法控制的事情,而这是一件好事。
AlarmManager允许您在指定的时间间隔广播意图,甚至允许控制设备是否唤醒。您只需要在服务中定义一个BroadcastReceiver,并在清单中声明即可。
你问题的最后一部分我不太理解,请更详细地说明你想要实现什么。