当前位置: 首页 > news >正文

长春网站设计880元wordpress 开发h5页面

长春网站设计880元,wordpress 开发h5页面,阿里云网站的logo怎么写进去的,建设银行舟山分行网站一、实现方式 ViewPager内部是通过继承ViewGroup来实现的,ViewPager2内部是通过RecyclerView来实现的(效率更高) 二、支持方向 ViewPager只能横向滑动,ViewPager2可以横向以及竖向滑动 三、采用的适配器 ViewPager有两个适配…

一、实现方式

ViewPager内部是通过继承ViewGroup来实现的,ViewPager2内部是通过RecyclerView来实现的(效率更高)

二、支持方向

ViewPager只能横向滑动,ViewPager2可以横向以及竖向滑动

三、采用的适配器

ViewPager有两个适配器分别是FragmentStatePagerAdapterFragmentPagerAdapter,都集成自PagerAdpter

FragmentStatePagerAdapter:不可以缓存,Fragment离开屏幕时,该适配器会销毁该Fragment并释放其资源,而在Fragment重新进入屏幕时,该适配器又会重新创建该Fragment。这种管理方式适合于Fragment数量较多或占用内存较大的情况,因为它可以在不需要的Fragment上释放内存。但是这也会导致Fragment的状态丢失,需要在Fragment中保存和恢复状态。

FragmentPagerAdapter:可以缓存,在Fragment离开屏幕时,该适配器并不会销毁该Fragment,而是将其保存在内存中,以便下一次使用时可以直接取出。

这种管理方式适合于Fragment数量较少或占用内存较小的情况,因为它可以避免频繁的Fragment销毁和重建,提高了性能。但是如果Fragment数量过多,可能会导致内存占用过高,从而引发内存溢出等问题。

总结:如果需要管理大量或占用内存较大的Fragment,应该选择FragmentStatePagerAdapter;如果Fragment数量较少或占用内存较小,应该选择FragmentPagerAdapter

ViewPager2只有一个适配器FragmentStateAdapter,集成自RecyclerView.Adapter,该适配器有以下特点

1.FragmentStateAdapter在遇到预加载时,只会创建Fragment对象,不会把Fragment真正的加入到布局中,所以自带懒加载效果;

2.FragmentStateAdapter不会一直保留Fragment实例,回收的ItemView也会移除Fragment,所以得做好Fragment重建后恢复数据的准备;

3.FragmentStateAdapter在遇到offscreenPageLimit>0时,处理离屏Fragment和可见Fragment没有什么区别,所以无法通过setUserVisibleHint判断显示与否。

四、功能支持

ViewPager有两个弊端

1、不能关闭预加载

2、更新adapter不生效

我们在加载数据的时候,viewpager默认会帮我们预加载前后两个页面的数据,并且这2个view是不可见的。

由于viewpager对offscreenPageLimit做了限制,默认设置为1,因此页面的预加载不可避免。这也容易造成资源浪费。

一般使用viewpager与frament配合使用,利用fragment的setUserVisibleHint方法,来实现控制数据懒加载。而布局只能提前进入(预布局)。

ViewPager2离屏加载和预加载

ViewPager2的预加载与离屏加载在view层面有着本质的区别,离屏加载的view已经添加到parent上,而预加载只是准备了布局,并没有加载到parent上。

1.ViewPager2默认是开启预加载关闭离屏加载的,可能会预加载一条数据,而离屏加载即设置offscreenPageLimit为0。

2.ViewPager2设置offscreenPageLimit为1时,在第1页会加载2条数据,每滑动一页,都会加载下一页数据,直到第五页,会移除第一页数据。

ViewPager2内部实现了懒加载,通过Lifecycle对Fragment的生命周期进行管理。而ViewPager需要自己实现懒加载。

ViewPager2提供了一些新的功能,如无从右到左(RTL)的布局支持和停用用户输入的功能(setUserInputEnabled、isUserInputEnabled)。

五、对于ItemDecoration的支持不同

ViewPager自身并不支持ItemDecoration,如果需要添加分割线等效果,需要手动实现。而ViewPager2可以直接使用RecyclerView的ItemDecoration来实现分割线等效果。

参考链接:

https://www.cnblogs.com/fangg/p/12768038.html

https://blog.csdn.net/qq_40840459/article/details/132402056

http://www.yayakq.cn/news/764273/

相关文章:

  • 扬中网站制作中国人做跨电商有什么网站
  • 手机作图软件appseo如何提升排名收录
  • 12388网站建设管理情况枣庄三合一网站开发公司
  • 在郑州网站建设创意网站建设公司
  • 烟台教育平台网站建设百度关键词规划师工具
  • 四川成都营销型网站手机网站 微信分享
  • 温州市城乡建设建档案馆网站免费查看采购信息的平台
  • 网站建设需要哪些工具湖南人文科技学院
  • 泰州企业模板建站建设官网电话号码
  • 直播间网站开发设计网络事件营销案例
  • 三台网站seo外贸网站制作方案
  • 奉节做网站北京蓝杉网站建设公司
  • 情人做网站模版织梦网站备案
  • 南通优普网站建设南昌网站建设招聘
  • 建材网站建设公司快速网站建设哪家好
  • 武清做网站公司如何开淘宝店做国外网站
  • 深圳建设网站制作重庆校园网站开发
  • 做网站需要用什么语言鄂州免费设计网站建设
  • 苏州集团网站设计企业小说网站的会员充值是怎么做的
  • 自己做的网站怎么被搜索出来门户网站布局
  • 湖北城乡建设厅官方网站做盗版系统网站会不会
  • vps服务器中的网站不显示图片创建网站的工具
  • 彩票网站多少钱可以做苏州工业园区教育网
  • 浙江建设继续教育网站首页记账公司
  • 如何百度搜到自己网站虚拟机做网站服务
  • 网站开发术语没钱可以注册一千万的公司吗
  • iis部署网站 asp 物理路径wordpress网站关键词
  • 网站类的百度百科怎么做古典家具网站模板
  • 做食物外网视频网站网站备案 取名资讯通不过
  • 破解网站后台网站建设与管理代码