HandlerThread使用个人理解
2017-11-23 19:23
309 查看
HandlerThread在子线程中创建handler并重复发消息执行主线程中handler的任务
private void initBackThread(){mCheckMsgThread = new android.os.HandlerThread("check-message-coming");mCheckMsgThread.start();mCheckMsgHandler = new Handler(mCheckMsgThread.getLooper()){@Overridepublic void handleMessage(Message msg){checkForUpdate();if (isUpdateInfo){mCheckMsgHandler.sendEmptyMessageDelayed(MSG_UPDATE_INFO, 0);}}};}private void initBackThread2(){Thread thread=new Thread(new Runnable() {@Overridepublic void run() {handler=new Handler(getMainLooper()){@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);checkForUpdate();if (isUpdateInfo){handler.sendEmptyMessageDelayed(MSG_UPDATE_INFO, 0);}}};}});thread.start();}
private void checkForUpdate(){try{//模拟耗时Thread.sleep(1000);mHandler.post(new Runnable(){@Overridepublic void run(){String result = "实时更新中,当前大盘指数:<font color='red'>%d</font>";result = String.format(result, (int) (Math.random() * 3000 + 1000));mTvServiceInfo.setText(Html.fromHtml(result));}});} catch (InterruptedException e){e.printStackTrace();}}
相关文章推荐
- leetcode题目:gas-station 使用start/end方法的个人理解
- Java个人理解之时间的使用
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和
- Recyclerview的一些个人理解与使用(七)Recyclerview的嵌套与增加删除
- Recyclerview的一些个人理解与使用(六)Recyclerview的分段加载
- [div+css培训] a链接标记的三种方式使用我的个人理解
- 使用redis缓存数据需要注意的问题以及个人的一些思考和理解
- [Android个人理解(六)]使用include标签的注意事项
- ping 命令的使用【个人理解,待续】
- BroadcastReceiver使用方法及个人理解
- Recyclerview的一些个人理解与使用(二)实现一个简单的列表界面
- Recyclerview的一些个人理解与使用(五)Recyclerview的联动,时间选择的实现
- 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?(个人理解)
- spring的AOP个人理解和使用
- 我的mqtt协议和emqttd开源项目个人理解(5) - hook的使用,源码分析
- Android WeakReference的理解与使用【末尾个人修正原作笔误】
- EGOTableViewPullRefresh个人理解代码原理和使用
- 【Android个人理解(四)】自定义Application类的使用
- a链接标记的三种方式使用我的个人理解
- Struts2之使用ModelDriven完成的参数自动封装个人理解