手记

android开发 handler的延迟发送,与回收

handler在Android开发经常使用,但是你真的会用么?

    /**
     * handler 登录消息
     */
    private static final int MESSAGE_LOGIN = 1;
 /**
     * 延迟消息handler
     */
    private Handler handler;

在oncreate中使用延迟消息

    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        handler = new Handler(new Handler.Callback(){
            @Override
            public boolean handleMessage(Message msg) {
                if(msg.what == MESSAGE_LOGIN ){
                    //登录逻辑
                }
                return true;
            }
        });
        //五秒后发送
        handler.sendEmptyMessageDelayed(MESSAGE_LOGIN,5000);
    }

还需要在生命周期中处理方法

@Override
    protected void onResume() {
        super.onResume();
handler.sendEmptyMessageDelayed(MESSAGE_LOGIN, 5000);
    }

    @Override
    protected void onPause() {
        super.onPause();
handler.removeMessages(MESSAGE_LOGIN);
    }
7人推荐
随时随地看视频
慕课网APP