1.什么是Handler
Handler可以用来在线程之间进行通信, Android中的界面组件只能在创建界面的线程中修改, 如果主线程创建界面, 那么新线程就无法修改.
某些时候我们一定要在新线程中修改主线程的界面, 这时就可以使用Handler通信.
2.怎么使用
sendMessdage
在新线程中通过Handler的引用调用sendMessage()方法, 发送一个Message对象
这时创建Handler的线程就会执行handleMessage()方法得到新线程发送的Message对象
post
在新线程中通过Handler的引用调用post()方法, 发送一个Runnable对象
这时创建Handler的线程就会执行Runnable中的run()方法
二.ANR异常
1.什么是ANR异常
Application Not Response 应用程序无响应, 在用户进行一个操作, 而Android系统6秒内没有对其进行处理的时候, 程序就会出现ANR异常.
2.为什么会出现ANR异常
Android系统中处理用户操作的工作是在主线程中执行的, 如果我们的程序在主线程中进行一些耗时的操作, 导致用户的操作6秒不能处理, 就会出现异常.
3.怎么解决
将耗时的操作放在新线程中执行
如果需要操作界面, 那么使用Handler进行处理
Handler自我理解
一Handler