android中fragment的4个小问题
2016-06-27 14:14
519 查看
1. 清空fragment回退栈
int count = getActivity().getSupportFragmentManager().getBackStackEntryCount();
BackStackEntry backStack = getActivity().getSupportManager().getBackStackEntryAt(i);
getActivity().getSupportManager().popBackStackImmediate(****, 0 or 1)
即弹出Tag为****之上的所有(包括自身)的fragment
第二个参数只能是0或者1(POP_BACK_STACK_INCLUSIVE)
注意: 当第一个参数为null时,第二个参数为0时候:
经测试,回退站中的fragment个数减少了一个
当第二个参数为1时候:
会弹出所以回退栈fragment回退栈的个数为0
2.对当前的fragment进行压栈处理
使用fragment的时候,我们为了在界面跳转的时候保存当前界面,经常对fragment进行压栈处理
fragmentManager.beginTransaction().addToBackStack(null)
3.尽量使用add hide show来替换replace
4.fragment重叠问题
fragment状态保存,当系统内存不足的时候,fragment宿主Activity回收的时候,
fragment并没有被收回,Activity被系统回收的时候,会主动调用onSaveInstance()方法来
保存视图层(View Hierarchy),所以当 Activity再次创建的时候,再次实例化出现在Activity
导致fragment重叠
public void onSaveInstanceState(Bundle outState) {
boolean pop = mFragmentManager.popBackStackImmediate(null, 1);
super.onSaveInstanceState(outState);
} }
int count = getActivity().getSupportFragmentManager().getBackStackEntryCount();
BackStackEntry backStack = getActivity().getSupportManager().getBackStackEntryAt(i);
getActivity().getSupportManager().popBackStackImmediate(****, 0 or 1)
即弹出Tag为****之上的所有(包括自身)的fragment
第二个参数只能是0或者1(POP_BACK_STACK_INCLUSIVE)
注意: 当第一个参数为null时,第二个参数为0时候:
经测试,回退站中的fragment个数减少了一个
当第二个参数为1时候:
会弹出所以回退栈fragment回退栈的个数为0
2.对当前的fragment进行压栈处理
使用fragment的时候,我们为了在界面跳转的时候保存当前界面,经常对fragment进行压栈处理
fragmentManager.beginTransaction().addToBackStack(null)
3.尽量使用add hide show来替换replace
4.fragment重叠问题
fragment状态保存,当系统内存不足的时候,fragment宿主Activity回收的时候,
fragment并没有被收回,Activity被系统回收的时候,会主动调用onSaveInstance()方法来
保存视图层(View Hierarchy),所以当 Activity再次创建的时候,再次实例化出现在Activity
导致fragment重叠
public void onSaveInstanceState(Bundle outState) {
boolean pop = mFragmentManager.popBackStackImmediate(null, 1);
super.onSaveInstanceState(outState);
} }
相关文章推荐
- 关于Android 开发中的一些命名规范
- android AsyncTask的使用介绍
- android material design之toolbar,ExitUntilCollapsed(七)
- Android 开发的两种框架 MVC和MVP 的简单分析
- 安装busybox提示Invalid cross-device link错误
- 填坑
- Android 自定义VideoView
- 第一次使用Android Studio时你应该知道的一切配置
- android 百分比布局
- Android常用的几个系统参数相关代码片段
- Material Design 最全解析_3 主题Theme
- 两个view间淡入淡出 Crossfading Two Views——翻译自developer.android.com Training
- Android 简易刮刮乐效果
- Android通知栏微技巧,那些你所没关注过的小细节
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- Android:layout_gravity和android:gravity的区别
- Android 屏幕适配方案
- Android ActionBar完全解析
- Fresco 专为Android加载图片
- 安卓百度地图基本配置及画线路轨迹问题