Как AsyncTask работает в Android

Я хочу знать, как AsyncTask работает внутри.

Я знаю, что он использует Java Executor для выполнения операций, но все же некоторые вопросы я не понимаю. Например,:

  1. Сколько AsyncTask можно запускать одновременно в приложении для Android?
  2. Когда я запускаю 10 AsyncTask, все задачи будут выполняться одновременно или по одной?

Я попытался проверить то же самое с помощью 75000 AsyncTask. У меня нет никаких проблем, и кажется, что все задачи будут помещены в стек и будут выполняться одна за другой.

Также, когда я запускаю 100000 AsyncTasks, я начинаю получать ошибку OutOfMemoryError.

Итак, существует ли какое-либо ограничение на количество AsyncTask, которые могут выполняться одновременно?

Примечание :Я тестировал их на SDK 4.0

19
задан AndroDev 7 May 2012 в 10:38
поделиться