我的程序將搜索文件系統,所以我知道我需要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