Ank*_*kuj 4 android android-service android-asynctask
我对我的应用程序的设计感到困惑.我需要不断轮询服务器以从中获取新数据.我很困惑是以固定间隔运行Async Task还是运行Service是更好的选择.该线程仅在应用程序运行时运行
你已经对你的问题有了一些答案,但我认为值得总结一下......
你需要什么
如果要运行需要一些时间才能完成的代码,应始终在UI线程的单独线程中运行它.
您可以通过两种方式实现这一目标:
使用Thread:
如果您不需要从新线程到UI线程的大量通信,这是最简单的一个.如果您需要通信,则可能必须使用a Handler来执行此操作.
使用AsyncTask:
也运行在一个单独的线程中,并已经与UI线程实现了一些通信通道.因此,如果您需要将此通信返回到UI,则最好使用此方法.
你不需要什么
Service
这主要用于在退出主应用程序后保持一些代码运行,并且它将在UI线程中运行,除非您使用上述选项生成新线程.你说当你退出应用程序时你的线程会被终止,所以这不是你需要的.
IntentService
这可以通过外部事件(即BroadcastReceiver)激活,该事件可以启动您定义的一段代码,即使您的应用程序未运行.再一次,根据您的要求,这不是您想要的.
问候.
| 归档时间: |
|
| 查看次数: |
1710 次 |
| 最近记录: |