0
  • 最佳答案

    解绑绑前你调用clear()方法呀,清除集合内容。


    你解绑了也不一定马上回收 ,这跟Java的回收机制有关系。


    但是你坚持一个原则即可,谁创建,谁释放。

    1153952789488054272  评论     打赏       拉大锯
    • Maybe  回复 @拉大锯
      如果解绑的时候把presenter里的集合clear了那正常引用的两个fragment不是没了嘛,我在presenter的取消注册方法里打了log,当滑出去的fragment分类,他是会执行解绑,然后解绑之后,集合.contain(fragment)也是false,不知道适配器为啥还在,按道理来说,划出去的fragment不是执行了销毁方法嘛,适配器怎么没销毁
      Maybe 2020-06-23 20:41   回复 1219157891760525312
    • 拉大锯  回复 @Maybe
      那还要用就不必清空呀,这不叫内存泄露呀。内存泄露是已经不再用的内空,引用还被持有,导致内存无法释放,这才是内存泄露哦。
      拉大锯 2020-06-23 21:16   回复 1153952789488054272
    • Maybe  回复 @拉大锯
      噢噢刚接触不是很了解
      Maybe 2020-06-23 21:28   回复 1219157891760525312
    • Maybe  回复 @拉大锯
      谢谢康师傅
      Maybe 2020-06-23 21:28   回复 1219157891760525312
    • 拉大锯  回复 @Maybe
      如果你要深究,这里面你先搞清楚概念,还有内存结构,内存的回收机制,回收算法这些,另外则是工具也要会用。
      拉大锯 2020-06-23 21:30   回复 1153952789488054272
    • Maybe  回复 @拉大锯
      好的
      Maybe 2020-06-23 21:55   回复 1219157891760525312
相关问题
A lonely cat · 内存泄漏 / Android
2021-06-27 22:11 430 50
幻影~ · 提问
2024-04-13 20:13 7 2
幻影~ · 找工作
2024-04-07 10:44 12 2
幻影~ · 问题
2024-03-31 17:20 7 2
TONYGFX · AOSP
2024-03-28 17:11 4 2