Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 關於android中obtainMessage()的小疑惑

關於android中obtainMessage()的小疑惑

編輯:關於Android編程

今天寫代碼的時候遇到一個問題:從線程中獲取消息….

項目中有一段代碼handler.obtainMessage(msg),即從線程中獲取一個消息,查看了下源碼

在handler.obtainMessage()中是這樣寫的

Message android.os.handler.obtainMessage(int what,int arg1,int arg2,Object obj);

what: value to assign to returned Message.what field
arg1: value to assign to returned Message.arg1 filed
arg2: value to assign to returned Message.arg2 filed
obj : value to assign to returned Message.obj filed

Handler handler=new Handler(){
    public void HandlerMessage(Message msg){
        switch(msg.what){
            case 1:
            textView.setText("接收消息");
        }
    };
};

Message msg=Message.obtain();
msg.what=1;
handler.sendMessage(msg);

通過這種方法可以發送和獲取消息

我們在寫代碼的時候盡量避免new() 消息,通過obtainMessage()方法從消息池中獲取消息,這樣可以避免創建對象時候內存的開銷,影響系統性能。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved