您的位置:首页 > 其它

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();}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐