最近在项目里踩到一个小坑,在这里记录一下。
早上时发现项目中嵌套的fragment无法销毁,但每次回到页面都会重新创建。楼主当然明白把viewpager设setOffscreenPageLimit最大的页面数或者使用fragmentpageadapter就能够避免fragment的重复创建,但这不是问题的根源,只是逃避了问题所在。
最后定位在问题在 viewpager.setOffscreenPageLimit()这行代码上,这行代码如果在viewpager.setadptaer之前运行,是不会出现问题的,但在之后运行,就会出现我所说的状况——fragment无法销毁(或者已经销毁但下次创建的时候还会继续创建该实例),导致内存泄露问题。
原因暂且不明,先记录一下。等项目结束有时间再研究。