解决切换Fragment切换导致重新创建Fragment问题
2017-02-22 14:12
330 查看
1. 解决切换Fragment切换导致重新创建Fragment问题
在项目中切换Fragment,一直都是用replace()方法来替换Fragment。但是这样做有一个问题,每次切换的时候Fragment都会重新实列化,重新加载一次数据,这样做会非常消耗性能用用户的流量官方文档解释说:replace()这个方法只是在上一个Fragment不再需要时采用的简便方法
正确的切换方式是add(),切换时hide(),add()另一个Fragment;再次切换时,只需hide()当前,show()另一个,这样就能做到多个Fragment切换不重新实例化。
切换方法:
/** * 切换不同的Fragment * @param from * @param to */ public void switchFragment(Fragment from, Fragment to) { if (mContent != to) { mContent = to; FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); if (!to.isAdded()) { // 先判断是否被add过 if(from != null){ transaction.hide(from); } if(to != null){ transaction.add(R.id.fl_content, to).commit(); } } else { if(from != null){ transaction.hide(from); } if(to != null){ transaction.show(to).commit(); } }
2. 解决横竖屏切换导致的Fragment内容重叠问题
<activity android:name=".activity.MainActivity" android:configChanges="orientation|keyboardHidden|screenSize" > </activity>
相关文章推荐
- 解决ViewPager上多个Fragment之间切换被重新实例化的问题
- FragmentTabHost切换Fragment时避免重复加载UI,导致切换后重绘页面的问题解决
- Android解决多个Fragment切换时布局重新实例化问题
- Android解决多个Fragment切换时布局重新实例化问题
- Android学习之解决多个Fragment切换时重新实例化的问题
- Android解决多个Fragment切换时布局重新实例化问题
- android activity横竖屏切换,Activity重新创建问题解决!
- 解决Fragment每次切换时数据重新获取问题
- Android解决多个Fragment切换时布局重新实例化问题(挺详细的)
- 解决横竖屏切换时,activity不重新创建问题
- FragmentTabHost切换Fragment时避免重复加载UI,导致切换后重绘页面的问题解决
- 【问题解决】FragmentTabHost 底部菜单栏,切换Frgment时重新加载问题
- Android解决多个Fragment切换时布局重新实例化问题
- android activity横竖屏切换,Activity重新创建问题解决!
- spring动态创建切换多数据源问题分析与解决办法
- 解决基于SlidingMenu的fragment切换后edittext无法获取焦点的问题
- 解决原型重新的问题——通过组合构造函数和原型来创建对象
- Android Studio 升级导致新工程创建失败的问题解决
- viewPager 页面切换时 fragment重新加载问题
- SQL2008"阻止保存要求重新创建表的更改"问题的解决