温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Handler的使用上

发布时间:2020-04-24 17:31:23 来源:网络 阅读:385 作者:许大虫 栏目:移动开发

    Handler是android给我们提供用来更新UI的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它处理消息。Handler在frameWork的应用也非常广泛,比如说最常见的Activity的生命周期,onCreate、onResume、onDestory等方法都是通过Handler发送不同的消息去回调的,其实,在frameWord当中,Activity的交互,大部分都是通过AMS(activity manager service)处理的,整个应用程序的ActivityThread就是用过Handler的机制接收到AMS给我们发送的生命周期一些管理.

    Android的开发是一定要用到handler的,因为Android在设计的时候,就封装了一套消息创建、传递、处理机制,如果不遵循这样的机制,就没有办法更新UI消息的(当然也可以自己设计一套消息创建、传递、处理的机制,不过会相当麻烦,所以最好用Google提供的这种机制),就会抛出异常

    Handler的使用上

这是Android的Handler文档

    里面讲到Handler主要有两个用途,一个是定时地发送message或一个runnable对象,另一个是在一个线程当中处理并执行相应的action.

    当创建一个程序的时候,就会创建一个进程,这个进程在整个activity当中就是一个UI(主)线程,该线程就是activity thread的线程。

    如果我们在子线程中更新UI而不使用Handler做媒介的话,程序将会崩溃,下面尝试一下:

Handler的使用上

Handler的使用上

从第三行的错误代码提示中可以看出:只有在主线程中才可以直接更改UI界面

    下面就在子线程中通过使用Handler修改UI,功能是实现多张图片每个一段时间自动切换

Handler的使用上

Handler的使用上

Handler的使用上

这样程序就可以运行了


附件:http://down.51cto.com/data/2368067
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI