gpt4 book ai didi

android - 我的应用程序的线程、异步任务或 intentService?

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:53 25 4
gpt4 key购买 nike

我需要您对我的应用提出意见。我正在开发一个通过蓝牙与 radio 通信的应用程序。应用分为 3 个(滑动)标签:

  1. 首先,我放置了一个连接选项和一个“连接”按钮,用于将我的设备连接到 radio 。

  2. 第二个是显示我位置的 map ( radio 可以发送 GPS 字符串,我用我的算法解码它并获得纬度和经度)。

  3. 在第三个中有一个类似的蓝牙聊天选项,我可以使用它向 radio 发送/接收简单的文本消息。

此应用程序必须留在后台并连接到 radio ,并且它必须在通知区域显示(类似于 SMS)一个图标,上面写着“已收到消息”。所以我想听取您的意见来开发应用程序:我必须使用 thread/asynctask 进行连接,使用 thread/asynctask 进行映射,使用 intentservice 进行消息或其他什么你认为应该做吗?这是我的第一个后台应用程序,上个月我使用 asynctask 实现了我的应用程序的一部分。

感谢您的帮助。

最佳答案

AsyncTask 应该在您必须在单独的线程上执行短期操作并将最终结果发布到主/UI 线程时使用,我相信您的应用不是这种情况.

Service 应用于执行在后台发生的长时间运行的任务并继续工作,而不管前台是否有 Activity。不过,Service 仍然在主线程上运行,这意味着如果您在此 Service 上进行大量繁重的计算,它会减慢您的 UI(当 UI存在)。

这将我们带到 IntentService,它在单独的线程上执行长时间运行的操作并且在后台工作,无论是否有一个Activity 是否存在。

所以 IntentService 可能是您想要一个流畅的 UI 但同时又在后台进行独立于应用程序 UI 组件的工作的情况下的最佳选择 (AsyncTask 不能这样做)。但是,您的工作已经完成,因为当您想要传输数据时,您仍然需要将 IntentServiceActivity 同步/绑定(bind)。

关于android - 我的应用程序的线程、异步任务或 intentService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com