Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何清除Android Work Manager取消的线程_Android_Android Workmanager - Fatal编程技术网

如何清除Android Work Manager取消的线程

如何清除Android Work Manager取消的线程,android,android-workmanager,Android,Android Workmanager,我在当前android应用程序中取消android work manager任务时遇到问题 我雇佣工作经理来执行背景工作。用户可以很好地取消当前正在执行的任务,但是似乎默认线程池最终会耗尽有效线程,因为即使我看到工作线程正在运行,也不会调用doWork方法 我用一个大小为2的固定线程池初始化工作管理器来证明这一点(我相信),一旦我取消了两个worker,后续的workers-doWork方法就永远不会执行 如何清除已取消线程的work Manager线程池,以允许执行后续工作 也许@corout

我在当前android应用程序中取消android work manager任务时遇到问题

我雇佣工作经理来执行背景工作。用户可以很好地取消当前正在执行的任务,但是似乎默认线程池最终会耗尽有效线程,因为即使我看到工作线程正在运行,也不会调用doWork方法

我用一个大小为2的固定线程池初始化工作管理器来证明这一点(我相信),一旦我取消了两个worker,后续的workers-doWork方法就永远不会执行


如何清除已取消线程的work Manager线程池,以允许执行后续工作

也许@coroutineDispatcher感谢这个“指针”,但是目前我的应用程序使用RxJava来编排我的网络和数据库调用,因此我相信切换到coroutines将意味着用coroutines替换我的所有Rx链。你能给我们看一下你的代码吗?你能用所需的复制步骤打开一个问题吗?请添加您正在使用的WorkManager版本以及您看到此行为的设备/操作系统版本。也许@coroutineDispatcher感谢此“指针”然而,目前我的应用程序使用RxJava来编排我的网络和数据库调用,因此我认为切换到协同路由意味着用协同路由替换我的所有Rx链。你能给我们看一下你的代码吗?你能不能打开一个关于所需复制步骤的问题?请添加您正在使用的WorkManager版本以及看到此行为的设备/操作系统版本。