Handler 最常见的使用场景就是下载回调,为了不影响用户体验 Android 不支持在主线程中进行耗时时操作,长时间的耗时操作会产生 ANR 异常,而下载无疑是耗时操作,所以我们会在子线程中进行下载。但,下载完毕进行 UI 操作却会发生异常,原来谷歌为了不让 UI 的操作出现冲突 (线程的不可确定性),所以规定只能在子线程中进行 UI 操作,可这就尴尬了... 即不让在主线程中进行联网操作,又不让在子线程中进行 UI 操作,我们如何将告诉主线程我们已经下载完毕了呢?这时就要用到 Handler 了.