Androidは、メイン(UI)スレッドを中心とした厳密なスレッドモデルを備えています。このスレッドはUIを処理し、レスポンシブである必要があります。スレッド化、メインスレッドから作業を移す必要がある理由、およびツール(コルーチン、および歴史的にはスレッド/ハンドラー)の理解は、レスポンシブなアプリケーションにとって重要です。
メインスレッドのルール
Android has a single MAIN (UI) thread that:
→ handles ALL UI operations (drawing, events) — UI updates MUST happen on it
→ must stay RESPONSIVE — blocking it freezes the UI; >5s blocked = ANR (App Not Responding)
TWO key rules:
1. DON'T do long/blocking work on the main thread (network, DB, heavy compute) → move it off
2. DON'T update UI from a background thread → switch back to the main thread for UI
