您的位置:首页 > 移动开发 > Android开发

AsyncTask, RejectedExecutionException and Task Limit

2012-05-28 10:48 330 查看
I am fetching lots of thumbnails from a remote server and displaying them in a grid view, using AsyncTask. The problem is, my grid view displays 20 thumbnails at a time, so that creates 20 AsyncTasks and starts 20 executes, one per thumbnail.

I get 
RejectedExecution
 exception
in my code. I recall reading somewhere that there is a limit to number of tasks that AsyncTask can have in its queue at a time, i might be hitting that. Was this bar lifted?

Is there a way to increase this limit? Is it safe to just ignore this exception?(by having an empty
catch(RejectedException
e){}
 block?)

I am running this code on Android 1.6 emulator and the API level in my code(minSDKVersion is 3). [EDIT: Added SDK and API level info]

I recall reading somewhere that there is a limit to number of tasks that AsyncTask can have in its queue at a time, i might be hitting that. Was this bar lifted?

AsyncTask
 appears
to presently support 10 threads and a work queue depth of 10. In theory, that would just support 20 items...if nothing else is using 
AsyncTask
.

Is there a way to increase this limit?

Grab the source code, modify it, put it in your own package, and use that one. I did this with my
AsyncTaskEx
,
though that is based on the Android 1.5 source.

Is it safe to just ignore this exception?

Your work will not be queued for execution. Whether that is "safe" is up to you. I am not aware of any other impacts on the 
AsyncTask
 infrastructure.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android api server up
相关文章推荐