ViewPager的使用小技巧

1、在ViewPager中默认加载当前屏幕上的界面和左右相邻界面的数据从而实现页面滑动的快速切换。可以通过调用setOffscreenPageLimit(int)方法,定制预加载相邻页面的数目。 
2、FragmentStatePagerAdapter与FragmentPagerAdapter基本相同,唯一的区别就是二者在卸载不再需要的fragment时所采用的处理方法不同。 
使用FragmentStatePagerAdapter会销毁掉不需要的fragment,事务提交后可将fragment从activity中的 FragmentManager中彻底移除FragmentStatePagerAdapter中的‘state’表明:在销毁fragment时,它会将onSaveInstanceState(Bundle ) 方法中的bundle信息保存下来。用户切换回原来的页面后,保存的实例状态可用于恢复生成新的fragment。 
相比之下FragmentPagerAdapter的做法大不相同。对于不再需要的fragment,FragmentPagerAdapter则选择调用事务的delect(Fragment) 方法,而非remove(Fragment) 方法来处理它,也就是说FragmentPagerAdapter只是销毁了fragment的视图,但任然将fragment实例保留在 FragmentManager中,因此FragmentPagerAdapter创建的fragment永远不会被销毁。

 

参考自:http://www.open-open.com/lib/view/open1432444452365.html

posted @   developer_Kale  阅读(737)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
网站流量统计工具
点击右上角即可分享
微信分享提示