Android handler消息队列机制

子线程不能直接刷新主线程的UI界面,故而使用消息队列机制。

子线程:使用handler对象发送消息到主线程的消息队列message queue;
主线程:轮询器Looper检测到消息队列中的消息;
Handler:handler对象调用handlermessage()方法。

发送消息:

Message msg = handler.obtainMessage();
msg.what=1;
msg.obj=bp;
handler.sendMessage(msg);

消息处理:

android.os.Handler handler=new android.os.Handler(){
     @Override
     public void handleMessage(Message msg) {
         switch (msg.what){
           case 1:
            ImageView iv= (ImageView) findViewById(R.id.iv);
             iv.setImageBitmap((Bitmap) msg.obj);
             break;
           case 0:
             Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_SHORT).show();
             break;
        }
        }
    };

你可能感兴趣的:(android开发)