我的程序将搜索文件系统,所以我知道我需要Service或IntentService,但我不确定哪一个。 (以前我想用的AsyncTask但不适合)Android - 我应该在我的程序中使用IntentService还是ThreadPool?
我知道IntentService将同时运行一个线程,实际上这可能是我想要什么,但不知道
如果有一个可移动SD在手机卡中,我将在单独的线程上执行搜索。一个线程将搜索内部SD和另一个外部SD。
问题是,我可以输入多个文件夹路径来搜索文件,但我将只使用一个文件系统的线程。例如,我有10条路径在Internal SD上搜索,5条在External上搜索,但我只使用两个线程。一个搜索内部,一个外部,并且当任何线程完成时,它将启动对内部的另一搜索,搜索外部时也会发生相同的搜索。
我不知道如果使用多线程服务或两个IntentServices,如果这甚至可能会更好吗?
嗯,我想使用服务,但我不知道它是否有一些工具启动线程一个接一个已经结束,因为我需要只运行线程每个文件系统 – user3086577
@ user3086577你可以看看执行[IntentService](https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/app/IntentService.java),并用threadPool替换它('HandlerThread') 'Executors.newFixedThreadPool') – zapl
这是个不错的主意我可能会尝试 – user3086577