但是如果我传入一个Looper,AS就不会提示,难道传入Looper就不会泄漏?

解决方案 »

  1.   

    是不是Handler和Looper使用了不同Android版本的基类?
      

  2.   

    你 new的hanlder是不是在子线程里创建的啊?
    如果是在子线程中创建的,那么你就需要
    需要调用looper.prepare() 和  looper.loop()这一对函数
    你的handler是和消息队列交互的,而消息队列是由looper创建的
    所以你没有looper,就没有消息队列,没有消息队列,你的hanlder和谁交互message?handler孤零零的一个,系统就给你报bug了!
      

  3.   

    static Handler
      

  4.   

    知道,只是想知道传单了looper为啥就不提示。
    我的理解,该泄露的话,就算new时有looper参数还是会泄露才对。
      

  5.   

    我的理解是IDE只针对这一种情况进行提示,实际上就算不加static做些工作的话handler也不一定会发生泄漏
    可能就提示最典型的情况