非同期処理と言えば、IntentServiceとAsyncTaskのいずれかは使ったことがあると思います。UI スレッドとは別のところで非同期に何かする、という点ではどちらも同じことをこなせるのですが、実際問題として何が違って何が同じなのかというところを踏み込んで見て行きたいと思います。 並行性とパフォーマンス IntentServiceは内部にHandlerThreadを持っていて、このHandlerThreadのなかで非同期処理を実行します。HandlerThreadは、内部に持っているHandlerにメッセージが渡ってきた時、それを順に処理するようできているので、メッセージを同時に複数送ると、ジョブキューのようにシリアルな動作で、メッセージを1つずつ捌いていきます。 Handlerがもっているメッセージキューにメッセージがなくなると、IntentServiceは自らのライフサイクルを
![非同期処理でよく使う IntentService と AsyncTask は何が違って何が同じなのか - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3a96c84c334779248d66811c2fe31219a92f9f1b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU5JTlEJTlFJUU1JTkwJThDJUU2JTlDJTlGJUU1JTg3JUE2JUU3JTkwJTg2JUUzJTgxJUE3JUUzJTgyJTg4JUUzJTgxJThGJUU0JUJEJUJGJUUzJTgxJTg2JTIwSW50ZW50U2VydmljZSUyMCVFMyU4MSVBOCUyMEFzeW5jVGFzayUyMCVFMyU4MSVBRiVFNCVCRCU5NSVFMyU4MSU4QyVFOSU4MSU5NSVFMyU4MSVBMyVFMyU4MSVBNiVFNCVCRCU5NSVFMyU4MSU4QyVFNSU5MCU4QyVFMyU4MSU5OCVFMyU4MSVBQSVFMyU4MSVBRSVFMyU4MSU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OWFiYzEwNjJlZmQ0Y2NkOTE4NjMyNGZkYjJmZDE5MzM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwS2VpdGhZb2tvbWEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTIzNmQ3NmZkZjA3MDdkZGUyYzk2YmYxNWY4MWRjNDM2%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3De43bcf4755684b55068ea0f8d97e92bb)