Android的优化 ViewPager结合Fragment的懒加载使用

原创 2018年04月15日 23:48:40
        目前的Android应用开发中,几乎每一款应用都会应用到碎片Fragment,大大改善了用户的体验。
今天和大家一起看看ViewPager结合Fragment的懒加载使用,即当Fragment对用户可见时,在进行数据的加载。

实现:
在Fragment中有一个setUserVisibleHint()方法,优先于Fragment的生命周期调用,其方法内有一boolean类型的参数,由其即可判断出当前碎片是否对用户可见。判断的用户可见时再调用加载数据方法。

问题:在使用时碰到的最大问题,当可见时,布局及控件可能未初始化完成。因此必须再一次进行布局是否初始化的判断。下面上代码。


        

public class LanFragment extends Fragment {

    private boolean isCreate;

    private boolean isUserVisible;


    //setUserVisibleHint()Fragment创建时会先被调用一次,此时用户不可见,并且每次发生用户可见/不可见的变化时,都会调用此方法,传不同的值。
    //总结:setUserVisibleHint()除了Fragment的可见状态发生变化时会被回调外,在new Fragment()时也会被回调
    //如果我们需要在 Fragment 可见与不可见时干点事,用这个的话就会有多余的回调了,那么就需要重新封装一个
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);

        isUserVisible = isVisibleToUser;
        if (isUserVisible) {
            loadData();
        }

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        isCreate = true;

        loadData();
    }

    private void loadData() {
        if (isCreate && isUserVisible) {

            //加载数据
        }
    }

}


至于优化问题,就交给各位道友自行处理,希望能帮到一些忙。

Android ViewPager Fragment使用懒加载提升性能

Android ViewPager Fragment使用懒加载提升性能Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Android ...
  • zhangphil
  • zhangphil
  • 2016-11-17 16:59:06
  • 2870

tablayout+viewpager+fragment组合使用以及懒加载机制

在开发中经常用到TabLayout+ViewPager+Fragment的组合。如下图所示: 首先介绍一下使用方法: xml文件 1 2 3 4 5 6 7 8 9 ...
  • xjbclz
  • xjbclz
  • 2016-11-05 18:16:38
  • 3721

Android Viewpager+Fragment的懒加载优化问题

我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在...
  • baidujiangwei18
  • baidujiangwei18
  • 2016-05-19 13:39:57
  • 651

TabLayout+ViewPager+Fragment懒加载实现

tablayout,viewpager,懒加载 http://img.blog.csdn.net/20170427150223036?watermark/2/text/aHR0cDovL2Jsb2cu...
  • qq_19317197
  • qq_19317197
  • 2017-04-27 14:56:49
  • 2540

Tablayout+Viewpager+Fragment组合使用以及懒加载机制

下面这个界面在日常开发中简直太常见不过了,viewpager+fragment组合出来的效果!                                首先介绍一下使用方法: xm...
  • qq_26936889
  • qq_26936889
  • 2016-09-27 14:09:30
  • 4444

Fragment嵌套Fragment,Viewpager和Fragment联动,懒加载

一、效果展示 二、主页布局 xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android...
  • Tangsan6666
  • Tangsan6666
  • 2017-10-12 15:02:34
  • 362

Android BottomNavigationView与ViewPager+fragment结合实现material Tab标准效果

1.创建一个android studio工程并依赖最新的Design Support Library(25) 在app的build.gradle中: compile 'com.android.supp...
  • xue9052zhou
  • xue9052zhou
  • 2017-07-12 15:14:57
  • 518

Fragment实现懒加载,让应用更优化

一.概述玩过微信的都知道,微信用的是懒加载的模式,之所以使用懒加载是因为:当使用viewpager+adapter作为应用大的布局时,viewpager会通过setOffscreenPageLimit...
  • Mr_immortalZ
  • Mr_immortalZ
  • 2016-03-30 15:27:51
  • 7924

Android 解决ViewPager+Fragment懒加载的问题

使用ViewPager+Fragment的朋友应该知道其具有懒加载机制的,其实懒加载机制是Viewpager 所具有的,看过ViewPager源码的都会知道里面设置的有默认的懒加载的页数,默认的是1...
  • u014452224
  • u014452224
  • 2016-06-23 11:28:10
  • 3270
收藏助手
不良信息举报
您举报文章:Android的优化 ViewPager结合Fragment的懒加载使用
举报原因:
原因补充:

(最多只允许输入30个字)