Android开发过程中创建一个Message对象使用方法区别

来源:互联网 发布:道道通端口修改器 编辑:程序博客网 时间:2024/05/29 17:51

有两个使用方法,一个是新建一个对象new Message,另一个是使用Handler.obtainMessage(),这里说明两者之间的不同


第一种,new对象;
没得说,就是创建一个对象


第二种,调用Handler的方法,
我们查看obtainMessage()源码:
这里写图片描述
可以看到是从loop中取出来的
也就是从Messge池中返回一个新的Message实例,这样的好处是避免再创建对象,提高可用性


继续我们的代码编写,我要写一个计时器
其中重要代码是

 public void onClick(View v) {        switch (v.getId()) {            case R.id.gettime:                time.setText(inputet.getText().toString()); // time用于显示                i = Integer.parseInt(inputet.getText().toString()); // 用于保存显示的值                break;            case R.id.starttime:                startTime();                break;            case R.id.stoptime:                stopTime();                break;            default:                break;        }    }// 对页面进行UI操作    private Handler mHandler = new Handler() {        // 更新主UI        public void handleMessage(Message msg) {            switch (msg.what) {                case aa:                    time.setText(msg.arg1 + "");                    startTime();                    break;            }        }    };    public void startTime() {        timer = new Timer();        task = new TimerTask() {            @Override            public void run() {                i--;                Message message = mHandler.obtainMessage();                message.what = aa;                message.arg1 = i;                mHandler.sendMessage(message);            }        };        timer.schedule(task,1000);    }    public void stopTime() {        timer.cancel();    }

我们对

0 0
原创粉丝点击