fragment生命周期测试
1、本项目用于测试fragment和Activity生命周期的关系,
2、本项目用于测试fragment在各种情况下的声明周期的调用,具体情况如下:
观察测试效果:
fragment声明周期以及回退操作效果(界面切换,界面状态变化,是否保留输入和界面状态)
测试情况:
1>a、不加入回退栈的情况下(replace()) 观察测试效果
b、 不加入回退栈的情况下(add()) 观察测试效果
2>a、加入回退栈的情况下 (replace()并调用addToBackStack()方法) 观察测试效果
b、加入回退栈的情况下 (add()并调用addToBackStack()方法) 观察测试效果
3>a、我们只隐藏fragment (add()并调用addToBackStack()方法),不进行替换观察测试效果
b、我们只隐藏fragment (replace()并调用addToBackStack()方法),进行替换观察测试效果
测试效果:
1>a测试效果:
b测试效果:
2>a测试效果:
b测试效果:
3>a测试效果:
b测试效果:
总结:1、通过代码测试发现,我们如果只用add()方法,将不会销毁当前的fragment不会调用它的任何生命周期,而且会加载指定的fragment,造成他们两个界面会叠加显示
2、 replace()方法是相当于是&