240 發(fā)簡信
IP屬地:上海
  • 我剛剛看了源碼衬吆,Handler只有在發(fā)送延遲消息才會(huì)導(dǎo)致內(nèi)存泄露凯旭,泄露的原因是因?yàn)橛昧薓ainLooper嘴拢,這個(gè)looper在整個(gè)程序的生命周期都存在抱婉,內(nèi)部的MessageQueue持有了延遲發(fā)送的Message,Message持有了Handler導(dǎo)致Activity無法回收沸移。
    我百度了Handler內(nèi)存泄露刷喜,為啥大家的解決方案都是static+弱引用?退出Activity前removeMessage不就完事了察迟,搞這么復(fù)雜干啥斩狱?

    Handler內(nèi)存泄露及解決方案

    引子 在Java中非靜態(tài)內(nèi)部類或者匿名內(nèi)部類都是默認(rèn)持有外部類的引用的,這兩個(gè)內(nèi)部類的存在是依賴于外部類的對(duì)象的扎瓶。比如如下例子: 上面的out.new InnerClass(...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品