fragment结合viewpager会缓存fragment在内存,除非退出程序,想要不退出程序情况下刷新fragment页面,就要删除缓存;

public class MainActivity extends AppCompatActivity {

    ViewPagerAdapter2 viewPagerAdapter2;
ViewPager viewPager;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
s3 = 1;
viewPager = findViewById(R.id.viewPager);
viewPagerAdapter2 = new ViewPagerAdapter2(getSupportFragmentManager());
viewPager.setAdapter(viewPagerAdapter2); findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("点击"); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
List<Fragment> fragments = getSupportFragmentManager().getFragments();
if (fragments != null) { for (Fragment childFragment :fragments) {
transaction.remove(childFragment); }
transaction.commit();
} viewPagerAdapter2 = new ViewPagerAdapter2(getSupportFragmentManager());
viewPager.setAdapter(viewPagerAdapter2);
viewPagerAdapter2.notifyDataSetChanged();
}
}); } }
public class ViewPagerAdapter2 extends FragmentPagerAdapter {

    public ViewPagerAdapter2(FragmentManager fm) {
super(fm); } @Override
public Fragment getItem(int position) {
System.out.println("输出item"+position); switch(position) {
case 0:
return new BlankFragment();
case 1:
return new BlankFragment2(); } return null;
} @Override
public int getCount() { return array.length;
} @Override
public CharSequence getPageTitle(int position) { return array[position];
}
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
System.out.println("返回位置");
return PagerAdapter.POSITION_NONE;
} }

viewPager删除缓存fragment的更多相关文章

  1. viewPager+fragment如何刷新缓存fragment

    最近在做一个项目,有一个功能是答题翻页.于是需要实现在这一页的时候就缓存下一页. 刚刚开始我是用 setOnPageChangeListener方法监听,滑到这一页的时候才刷新这一页: public ...

  2. 友盟页面统计 - 关于Viewpager中的Fragment的生命周期

    Activity和Fragment各自理论上的生命周期 Activity的生命周期是较为经典也最清晰的,在此不表: Fragment从出现到广泛运用也有一段时间了,其标准生命周期也仅比Activity ...

  3. 防止ViewPager中的Fragment被销毁的方法,更加流畅

    在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图: 当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以 ...

  4. 解决Fragment中使用ViewPager时,ViewPager里的Fragment错位和空白问题

    这两天开始在改OSChina的开源android客户端,打算用Fragment来分离Main这个Activity里的功能.用Fragment嵌套ViewPager+Fragment的时候发现问题. 红 ...

  5. (转)防止ViewPager中的Fragment被销毁的方法

    在使用ViewPager与Fragment的时候,ViewPager会自动缓存1页内的数据,如下图: 当我们当前处在页面2的时候,页面1和页面3的View实际上已经创建好了,所以在我们拖动的时候是可以 ...

  6. ViewPager的缓存机制

    1.实现Viewpager的页面懒加载: 在某些情况下,例如使用ViewPager查看多张大图,此时多张图片不能一次性载入,只有在浏览该页面时才载入(或者预先载入下一页面)页面的具体内容. 2.可控V ...

  7. 在Spring中使用Redis Lua脚本批量删除缓存

    背景 之前分享了一篇利用lua脚本批量删除redis的key的文章.现在项目中我打算使用spring的缓存,而Spring缓存以前我是用ehcache来做实现的.没发现什么问题..这次我换成redis ...

  8. 防止ViewPager中的Fragment被销毁

    pager.setOffscreenPageLimit(2); 就可以让ViewPager多缓存一个页面

  9. Redis批量删除缓存数据

    背景: 在使用redis中,经常会遇到批量删除缓存的情况,但是对于在客户端中,如果一个一个的删除key,则需要较长时间及相对麻烦,可以使用以下命令,批量删除缓存. 本地批量删除KEY: ./redis ...

随机推荐

  1. .NET 5 中 Target Framework 详解

    作者:.NET Team 翻译:精致码农-王亮 原文:http://dwz.win/Q4v 我们希望极大地简化开发人员必须在项目文件和 NuGet 包中使用的TFM (Target Framework ...

  2. nginx+tomcat集群方法

    下载地址:wget http://nginx.org/download/nginx-1.16.1.tar.gz 解压:tar -zxvf 预编译 nginx+tomcat集群方法: 进入nginx配置 ...

  3. Helm部署和体验jenkins

    如何快速且简单的部署 通过helm可以快速且简单的部署多种应用,关于helm的安装和使用请参考 环境信息 本次实战的环境信息如下: kubernetes集群:三台CentOS7.7服务器 kubern ...

  4. burp suite 之 Decoder(解码) Comparer(比较器) Extender(扩展)

    Decoder模块 将原始数据转换成各种编码和哈希表的简单工具,它能够智能地识别多种编码格式 Decoder as..解码 Encode as...编码 Hash : 哈希值计算 Smart deco ...

  5. 记一次GDB调试

    目标文件: ciscn_2019_ne_5. 来源 :https://buuoj.cn/challenges 保护情况:保护是没有保护的 主要伪代码: int __cdecl main(int arg ...

  6. MATLAB 安装

    参考:  链接1    链接2 重要: 1.秘钥:09806-07443-53955-64350-21751-41297 2.在安装目录下替换 bin

  7. Spring及tomcat初始化日志

    Tomcat StandardContext初始化过程 //org.apache.catalina.core.StandardContext#startInternal // 子容器启动 for (C ...

  8. 极简 Node.js 入门 - 4.4 可写流

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  9. linux中重启网卡后网络不通(NetworkManager篇)

    1.问题描述 RHEL7.6系统,使用nmcli绑定双网卡后,在使用以下命令重启network服务后主机网络异常,导致无法通过ssh远程登录系统. systemctl restart network ...

  10. 学习fastapi middleware 源码调用顺序

    请求流程如图 本次学到的新东西: functools.partial 可以代码重用 用于在哪些通用的方法上加上更多的参数 try: finally可以当go的defer用 即使return后 fina ...