使用add方法时,需要考虑fragment引用被清空的情况。
使用add方法add到activity里面的fragment的对象并不会被销毁。也就是它任然在activity中存在,只是引用被置为null而已,像是内存泄漏了。此时如果重新为引用赋值,其hide方法和show方法都不会生效。如果这种情况下,一个activity中有多个fragment,很可能出现多个fragment层叠而不能正常的显示或者隐藏。
使用add方法使用的fragment的优点在于它占用内存资源少,通过replace方法使用fragment占用资源虽然会多一些,但是不存在add方法造成的bug。
所以开发的时候,尽量处理好add方法可能引起的bug。
fragment还要处理好commit和transaction.commitAllowingStateLoss()两个方法。