zoukankan      html  css  js  c++  java
  • Handler是否在主线程问题

    Handler的实例化

    Handler handler = new Handler();一般是默认使用当前线程的looper

    1. 要刷新UI,handler要用主线程的looper,如果当前是主线程 Handler handler = new handler(); 如果是在其他线程的话Handler handler = new Handler(Looper.getMainLooper());
    2. 不刷新UI,只是做消息处理。当前线程如果是主线程, Handler handler = new Handler(),不是主线程的话,Looper.prepare(),Handler handler = new Hnadler(); Looper.loop()。或者使用Handler handler = new Handler(Looper.getMainLooper())是放到主线程处理。
    • 如果实例化的时候用的是Looper.getMainLooper();;则是放到UI线程中去处理。
    • 由于只有主线程才默认Looper.perpare(); Looper.loop();,所以在其他线程中使用的时候要手动写上这两行代码;
  • 相关阅读:
    Shell基础一
    Hash表
    哈希表
    设置不输入密码ssh登录
    C++ int与string的转化
    mysql之数据类型
    ICE之C/S通信原理
    mysql基础入门
    SQL练习之不反复执行相同的计算
    SQL练习之求解填字游戏
  • 原文地址:https://www.cnblogs.com/Godfunc/p/6600237.html
Copyright © 2011-2022 走看看