【安卓-优化点】安卓App开发思路 一步一个脚印(四)Fragment的重复利用
2016-10-03 16:30
477 查看
Fragment的重复利用
在现在主流的app开发中,少不了fragment的使用,fragment 是v4下的包,调用这样子的写法:FragmentManager fragment = getSupportFragment();
Transition transition = fragment.getTransition();
transition.replace(R.id.fragment_content,new XXFragment());
transition.commit();
其中的fragment_content布局文件为 主要放在显示菜单的上面 ,下面的菜单固然是include进来的。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" > <FrameLayout android:id="@+id/main_fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" /> </LinearLayout>
没当点击了任意的菜单,都replace()一下,那么肯定是生命周期又来了一遍,重新初始化了,那么如何解决重复利用呢?
现将方法进行优化
未优化前
private void replaceFragment(android.support.v4.app.Fragment fragment, String currentTAG) { [code] FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.main_fragment_container, fragment, tag); transaction.commit();}[/code]
优化为:
private String mTempFragmentTAG="";//标志当前的栏目
private void replaceFragment(android.support.v4.app.Fragment fragment, String currentTAG) { if(!currentTAG.equals(mTempFragmentTAG)){//当点击的fragment 不是当前点击的则新建,是则跳过 那么不会执行fragment FragmentManager mfragmentmanager = getSupportFragmentManager(); FragmentTransaction mfragmentTransaction = mfragmentmanager.beginTransaction(); if(!fragment.isAdded()){ mfragmentTransaction.replace(R.id.main_fragment_container, fragment,currentTAG).commit(); }else{ mfragmentTransaction.show(fragment); } mTempFragmentTAG=currentTAG; } }
关于此个优化,我的相关博文请看 http://blog.csdn.net/qq_14997169/article/details/52199701
相关文章推荐
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十四)实现Fragment的缓冲视图和数据,防止重复加载
- 【安卓】安卓App开发思路 一步一个脚印(二)FragmentTabHost实现底部的菜单
- 【安卓】安卓App开发思路 一步一个脚印(三)BaseActivity BaseFragment
- 【安卓】安卓App开发思路 一步一个脚印(十五)实现闪屏的优化
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十三)关于ListView的优化总结
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(七)实现ViewPager无限循环与自动播放
- 【安卓】安卓App开发思路 一步一个脚印(五)多点触碰与单点触碰的冲突处理思路
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(九)实现自定义滚动的新闻条目上下滚动-仿蘑菇街
- 【安卓】安卓App开发思路 一步一个脚印(一)欢迎界面
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十一)实现自定义左右滚动的导航栏目--仿美团
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(六)实现ViewPager最基本的
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十二)实现自定义左右滚动的信息块-仿蘑菇街
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十)实现内嵌在app中的webview 腾讯开源X5 高效安全
- 安卓开发_慕课网_Fragment实现Tab(App主界面)
- 基于OpenDaylight的二次开发一步一个脚印(二)编译源代码
- 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(3-1)Android 和 Service 的交互之GET方式
- 手把手教你如何搭建一个自己的安卓快速开发框架之带你做自己的APP(二)
- weex开发实战(5)--利用wxc-tabbar实现类似安卓fragment分页效果
- 利用反射实现对sqlite3数据库的crud(增删改查)操作的一个baseAndroidDao封装,安卓开发中
- [安卓开发] 带滚动条的多屏滑动-IndicatorFragmentActivity 修改优化版|添加底部图片变化