項目中遇到了java.util.concurrent.RejectedExecutionException。
具體log如下:
java.util.concurrent.RejectedExecutionException: Task android.os.A
syncTask$3@4363f698 rejected from java.util.concurrent.ThreadPoolExecutor@4239f1
d0[Running, pool size = 9, active threads = 9, queued tasks = 128, completed tas
ks = 195]
目前看來,最主要有2種原因。
第一:
你的線程池ThreadPoolExecutor 顯示的shutdown()之后,再向線程池提交任務的時候。 如果你配置的拒絕策略是AbortPolicy的話,這個異常就會拋出來。
第二:
當你設置的任務緩存隊列過小的時候,或者說, 你的線程池里面所有的線程都在干活(線程數== maxPoolSize),並且你的任務緩存隊列也已經充滿了等待的隊列, 這個時候,你再向它提交任務,則會拋出這個異常。
查看 here