我需要你的意见我的应用程序。我正在开发一个通过蓝牙与收音机通信的应用程序。应用分为3个(滑动)标签:
首先,我提供了一个连接选项和一个“连接”按钮,用于将我的设备连接到收音机。
在第二个地方有一张地图显示我的位置(收音机可以发送一个GPS字符串,我用我的算法解码它,我获得经度和纬度)。
在第三个中,有一个类似的蓝牙聊天选项,我可以通过该选项向收音机发送/接收简单的短信。
此应用必须保留在后台并连接到收音机,并且必须在通知区域中显示(类似于SMS)一个显示“已收到消息”的图标。所以我希望你的意见是开发应用程序:我必须使用 thread / asynctask 进行连接,使用 thread / asynctask 进行映射,并使用intentservice来获取消息或者使用什么你认为应该做什么?这是我在后台的第一个应用程序,上个月我使用asynctask实现了我的应用程序的一部分。
感谢您的帮助。
答案 0 :(得分:1)
AsyncTask
,而我认为你的应用程序不是这种情况。
Service
应该用于执行长时间运行的任务,这些任务在后台进行并继续工作,而不管前景中是否有Activity
。但是,Service
仍然在主线程上运行,这意味着如果你对这个Service
进行大量繁重的计算,它将减慢你的UI(当UI存在时)。
这将我们带到IntentService
,它在单独的线程上执行长时间运行 和在后台运行,而不管是否{{1是否存在。
所以Activity
可能是你想要一个流畅的用户界面的最佳选择,但你也可以在后台独立于app的UI组件进行工作(IntentService
无法做到这一点)。但是,您的工作已经完成,因为当您要传输数据时,您仍需要同步/ AsyncTask
与IntentService
绑定。