Handler自我理解
来源:互联网 发布:手机淘宝怎么看优惠券 编辑:程序博客网 时间:2024/04/30 14:33
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进行处理
如果,您认为这篇博客让您有些收获,不妨点击一下【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下【加关注】。
因为,我的热情需要您的肯定和支持。
感谢您的阅读,如果文章中有错误或者您有什么好的建议,也欢迎您直接留言批评指教。Thanks,friends!
- Handler自我理解
- Android~Handler机制自我理解
- android handler message looper 自我理解
- 自我理解
- Handler理解
- Handler理解
- Handler 理解
- Handler理解
- 官方aidl 自我理解
- Nsis的自我理解
- AR自我理解
- volatile自我理解
- android AIDL 自我理解
- MyBatis自我理解
- MyBatis自我理解
- C#事件自我理解
- REX系统自我理解
- extjs 学习自我理解
- JQuery中使用a-jax局部书刷新验证表单
- SQL Server之存储过程基础知识
- xcode编程中使用使用了DOUAudioStreamer这个第三方遇到的问题及其解决方法
- Java中泛型的理解(二)
- Codeforces Round #324 (Div. 2) B. Kolya and Tanya(组合数学)
- Handler自我理解
- acmPOJ--3615
- python爬虫程序,由根目录一直爬各个网址
- 女程序猿到此一游
- 连接数据库
- java之-命令模式
- 微信网页开发问题汇总
- 分布式RAM
- 第三十篇:控制器的生成与多控制器的管理