解决切换Fragment出现卡顿的问题
来源:互联网 发布:最好的桌面主题软件 编辑:程序博客网 时间:2024/04/30 00:53
在使用Fragment过程中,发现切换fragment会出现卡顿,主要是每次切换时都会重新创建,直接上代码
public class MainActivity extends FragmentActivity {
@Bind(R.id.dbGroup)RadioGroup dbGroup;private Fg_fangan fg_fangan;private Fg_shujujiance fg_shujujiance;private Fg_mapjiance fg_mapjiance;private Fg_zhuanghao fg_zhuanghao;private FragmentManager manager;private FragmentTransaction transaction;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } setContentView(R.layout.activity_main); dbGroup= (RadioGroup) findViewById(R.id.dbGroup); ButterKnife.bind(this); init_date(); setupWidgets();}private void init_date() { manager=getSupportFragmentManager(); transaction=manager.beginTransaction(); if (fg_shujujiance ==null ) { fg_shujujiance = new Fg_shujujiance(); } transaction.add(R.id.fragment, fg_shujujiance); // Commit the transaction transaction.commit();}private void setupWidgets() { dbGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub manager = getSupportFragmentManager(); transaction = manager.beginTransaction(); hideFragments(transaction); switch (checkedId) { case R.id.rbFangAn: if (fg_fangan == null) { fg_fangan = new Fg_fangan(); transaction.add(R.id.fragment, fg_fangan); } else { transaction.show(fg_fangan); } break; case R.id.rbJianCe: if (fg_shujujiance == null) { fg_shujujiance = new Fg_shujujiance(); transaction.add(R.id.fragment, fg_shujujiance); } else { transaction.show(fg_shujujiance); } break; case R.id.rbMapJianCe: if (fg_mapjiance == null) { fg_mapjiance = new Fg_mapjiance(); transaction.add(R.id.fragment, fg_mapjiance); } else { transaction.show(fg_mapjiance); } break; case R.id.rbZhuangHao: if (fg_zhuanghao == null) { fg_zhuanghao = new Fg_zhuanghao(); transaction.add(R.id.fragment, fg_zhuanghao); } else { transaction.show(fg_zhuanghao); } break; } transaction.commitAllowingStateLoss(); } });}private void hideFragments(FragmentTransaction transaction) { if (fg_fangan!=null){ transaction.hide(fg_fangan); } if (fg_shujujiance!=null){ transaction.hide(fg_shujujiance); } if (fg_mapjiance!=null){ transaction.hide(fg_mapjiance); } if (fg_zhuanghao!=null){ transaction.hide(fg_zhuanghao); }}}
希望和大家共同进步
0 0
- 解决切换Fragment出现卡顿的问题
- android 解决fragment+viewpager+fragment滑动卡顿的问题
- SlidingMenu切换fragment卡顿问题
- SlidingMenu切换fragment卡顿问题
- viewpager、fragment滑动切换卡顿问题
- 把ViewPager 切换时出现卡顿的问题
- tab切换fragment时,会出现滑动viewpager卡顿迟缓问题
- 界面切换,解决界面卡顿问题
- 解决UINavigationController在pushViewController时出现的"卡顿"问题
- Android fragment 切换加载数据卡顿问题
- NavigationView下Menu点击切换Fragment的卡顿解决方法
- ViewPager -- Fragment 切换卡顿 性能优化
- Fragment切换再现覆盖卡顿
- android 使用fragment切换,出现fragment重叠的问题
- 解决当使用hide()和show()在多个Fragment 切换时,出现的重叠问题
- 解决ViewPager切换Fragment的销毁Fragment带来的问题
- 解决 viewpager fragment 切换 Fragment被销毁的问题
- 解决fragment中嵌套fragment加载切换的问题
- 【Android 应用开发】 FastJson 使用详解
- 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut
- APICloud平台的融云2.0集成
- 数组列表的简单实现
- 统计学习方法——CART, Bagging, Random Forest, Boosting
- 解决切换Fragment出现卡顿的问题
- jmeter测试http请求之参数化
- 细说Executor框架(下)
- HDU 4514并查集判环+最长路
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
- 案例学习: MapReduce
- 简易HTTP服务器的实现
- MySQL relay_log_purge=0 时的风险
- 在android中通过java层程序调用命令行的一些备注