zoukankan      html  css  js  c++  java
  • Android中线程通信的方式

    Android 跨线程通信

    android 中是不允许在主线程中进行 网络访问等事情的因为UI如果停止响应5秒左右的话整个应用就会崩溃,到Android4.0 以后 Google强制规定,与网络相关的应用必须在子线程中调用

    实现线程间通信的方法

    线程间通信的方式图解

    Handler和Message 实现线程间的通信

    Handler myHandler = new android.os.Handler() {
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
             Log.i(TAG, "调用UI线程");
             String temp = (String) msg.obj;
             tv_Source.setText(temp);
         }
     };
    
     //发送消息到handler更新UI
     android.os.Message msg = new Message();
     msg.obj = "我是要发送的信息";
     myHandler.sendMessage(msg);
    

    使用Google封装好的API进行线程间中通信

    /*
    *这种方式仅仅推荐在只是更新UI的的情况下使用 
    *如果想要携带是数据得话还得使用Handler和Message的方式
    *使用方式:在想要更新UI时候直接使用此方法即可
    */
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            iv_IMG.setImageBitmap(BitmapFactory.decodeFile(file.getAbsolutePath()));
        }
    });
    

    仅将学习的笔记分享给大家,如果错误之处还请大家指正。

  • 相关阅读:
    用机器学习来预测一个活动的总交易额值
    点击率模型的二三事
    git教程
    shell的查找与替换
    python中列表和元组以及字符串的操作
    自然语言处理第一课
    shell入门
    python基础知识
    SQL指令中一些特别值得注意的地方
    【python】json
  • 原文地址:https://www.cnblogs.com/slyfox/p/6913503.html
Copyright © 2011-2022 走看看