我的应用程序的线程、异步任务或 intentService?
Thread, Asynctask or intentService for my app?
我需要你对我的应用程序的意见。我正在开发一个通过蓝牙与收音机通信的应用程序。应用分为 3 个(滑动)tabs :
首先我设置了一个连接选项和一个“connect”按钮来将我的设备连接到收音机。
第二个有一张地图显示我的位置(无线电可以发送GPS字符串,我用我的算法解码它并获得经纬度)。
在第三个中有一个类似的蓝牙聊天选项,我可以用它 send/receive 简单的短信到收音机。
此应用程序必须留在 后台 并连接到收音机,并且它必须在通知区域显示(类似于短信)一个显示 "message received" 的图标。所以我希望你的意见来开发应用程序:我必须使用 thread/asynctask 进行连接,使用 thread/asynctask 进行连接消息的地图和意图服务或者您认为应该做什么?这是我的第一个后台应用程序,上个月我用 asynctask 实现了我的应用程序的一部分。
感谢您的帮助。
AsyncTask
当你必须在一个单独的线程上执行一个短暂的操作时应该使用 post 主线程上的最终结果 / UI 线程,这不是我相信你的应用程序的情况。
Service
应该用于执行长时间的 运行 任务,这些任务在后台发生并继续工作,而不管前台是否有 Activity
。但是,Service
仍然在主线程上运行,这意味着如果您对此 Service
进行大量繁重的计算,它会减慢您的 UI(当 UI 存在)。
这将我们带到 IntentService
,它在单独的线程 和[=32= 上执行长运行操作 ] 在后台工作,无论 Activity
是否存在。
所以 IntentService
可能是您想要平滑 UI 的情况下的最佳选择,但您也有独立于 UI 组件的后台工作应用程序(AsyncTask
不能这样做)。但是,您的工作已经完成,因为当您想要传输数据时,您仍然需要将 IntentService
与 Activity
同步/绑定。
我需要你对我的应用程序的意见。我正在开发一个通过蓝牙与收音机通信的应用程序。应用分为 3 个(滑动)tabs :
首先我设置了一个连接选项和一个“connect”按钮来将我的设备连接到收音机。
第二个有一张地图显示我的位置(无线电可以发送GPS字符串,我用我的算法解码它并获得经纬度)。
在第三个中有一个类似的蓝牙聊天选项,我可以用它 send/receive 简单的短信到收音机。
此应用程序必须留在 后台 并连接到收音机,并且它必须在通知区域显示(类似于短信)一个显示 "message received" 的图标。所以我希望你的意见来开发应用程序:我必须使用 thread/asynctask 进行连接,使用 thread/asynctask 进行连接消息的地图和意图服务或者您认为应该做什么?这是我的第一个后台应用程序,上个月我用 asynctask 实现了我的应用程序的一部分。
感谢您的帮助。
AsyncTask
当你必须在一个单独的线程上执行一个短暂的操作时应该使用 post 主线程上的最终结果 / UI 线程,这不是我相信你的应用程序的情况。
Service
应该用于执行长时间的 运行 任务,这些任务在后台发生并继续工作,而不管前台是否有 Activity
。但是,Service
仍然在主线程上运行,这意味着如果您对此 Service
进行大量繁重的计算,它会减慢您的 UI(当 UI 存在)。
这将我们带到 IntentService
,它在单独的线程 和[=32= 上执行长运行操作 ] 在后台工作,无论 Activity
是否存在。
所以 IntentService
可能是您想要平滑 UI 的情况下的最佳选择,但您也有独立于 UI 组件的后台工作应用程序(AsyncTask
不能这样做)。但是,您的工作已经完成,因为当您想要传输数据时,您仍然需要将 IntentService
与 Activity
同步/绑定。