On Friday, April 20, 2012 3:16:35 PM UTC-4, Nathan wrote: > > Still adjusting to the changes in Android 4.0 regarding AsyncTask. > > If I understand right, the default behavior of execute is changing to one > single thread pool with only one thread? With the reason cited that > programmers are not capable of handling a bigger threadpool (I'm > paraphrasing). > > I'm also trying to figuring out why setDefaultExecutor is hide but public?
/** @hide */ public static void setDefaultExecutor(Executor exec) { sDefaultExecutor = exec; } Is this because it is subject to change and non-framework clients (i.e. third party dev) should be use this? For my app I wanted to globally change the Executor to ThreadPool, but that doesn't seem possible. So what I'm currently doing is subclass the AsyncTask like so: public abstract class ThreadPoolAsyncTask<Params, Progress, Result> extendsAsyncTask<Params, Progress, Result> { /* * This is a helper method to allow ICS AsyncTask to run in a thread pool, * without break API compatability with pre-ICS devices. * If you don't want a threadpool use the default AsyncTask since that is the * default for ICS. If you don't want a threadpool for pre-ICS (API level < 13) * then you need to wrote your own AsyncTask. Use the AsyncTask.java as a good starting point. */ public void executeOnThreadPool(Params...params) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { this.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params); } else { this.execute(params); } } } I'm just wondering is this is a good solution? This way I can use ThreadPoolAsyncTask for task that can run in parallel and don't have any implicit dependence on other tasks. And use AsyncTask directly if i want them to run in serial. Thanks, -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en