android - 我应该为我的应用程序使用 ThreadPool 还是 IntentService?

标签 android multithreading intentservice

您好,我正在我的应用中实现贴纸功能。在这里,用户可以在后台下载多个贴纸包,如 Viber 和 Line。

我对我使用的是什么感到有点困惑:Thread 或 IntentService。

另外,如果用户转到正在下载或排队的贴纸包,那么我需要在那里显示。

下载后我需要将其存储在数据库中。

请帮忙。

最佳答案

IntentService 的优势在于,当其守护线程繁忙时,服务将正确启动和停止。与 IntentService 通信(使用 Intent )也很简单,并提供出色的隔离和线程安全性。

如果 IntentService 过于严格(单线程;一种方式,Parcelable 通信),那么您可能想要推出自己的绑定(bind) ExecutorService。这是一项相当多的工作:您需要管理服务的启动和停止,处理服务与客户端 Activity 的绑定(bind)和解除绑定(bind),始终注意线程安全。

...实际上,令我感到惊讶的是,那里没有图书馆可以做到这一点。这是一种普遍的需求。

关于android - 我应该为我的应用程序使用 ThreadPool 还是 IntentService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27603893/

相关文章:

java - 拍照后如何在另一个 Activity 中显示图像?

python - 在进度条的计算中实现python多线程

android - IntentService 响应死的 ResultReceiver

c# - Xamarin.Forms:Android <Entry> 和依赖服务?

android - 如何从 Android 6.0 获取唯一的设备信息?

java - 何时在 java 多线程中使用 volatile 与同步?

multithreading - 在运行线程中 Autowiring 或注入(inject) Bean

android - 停止在 android 中执行定时器任务的 Intent 服务

java - IntentService 失去与互联网的连接

java - 您可以使用空间而不使用 LiveData 对象吗?