android – 如何告诉我的自定义FragmentPagerAdapter来停止销毁我的碎片?

栏目: IOS · Android · 发布时间: 6年前

内容简介:我有一个带有FragmentPagerAdapter的ViewPager,我的应用程序以前只使用了两个片段(不同类型),没有问题.我刚刚添加了第三个片段,现在我的适配器/查看器似乎正在摧毁我的片段,当我远离他们.例如,如果我在第1页,第3页被破坏并重新创建,当我接近它.如果我在第3页,第1页也是如此.这在我的应用程序中引起了很多问题.这些碎片根本不是非常重的RAM,所以我该如何阻止这种情况发生?

我有一个带有FragmentPagerAdapter的ViewPager,我的应用程序以前只使用了两个片段(不同类型),没有问题.

我刚刚添加了第三个片段,现在我的适配器/查看器似乎正在摧毁我的片段,当我远离他们.例如,如果我在第1页,第3页被破坏并重新创建,当我接近它.如果我在第3页,第1页也是如此.

这在我的应用程序中引起了很多问题.这些碎片根本不是非常重的RAM,所以我该如何阻止这种情况发生?

我相信你正在寻找 ViewPager.setOffscreenPageLimit()

.

在你的情况下,以下应该保持你的碎片在记忆中,而不是破坏它们.

ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
pager.setOffscreenPageLimit(2);

但是,我怀疑您在销毁时不正确地存储您的视图状态.您的碎片应正确处理被毁坏/重新创建.如果发生方向改变,您的碎片将被破坏并重新创建.如果用户离开您的应用程序并且系统以后需要内存并销毁您的活动,也可能会发生这种情况.它应该能够重新打开并处于与之前相同的状态.如果这确实是您的问题,请考虑在 onSaveInstanceState() 保存状态.保存的状态将在 onCreate 中提交给您,您可以将该片段的状态初始化为与已销毁的状态相同.

http://stackoverflow.com/questions/13273285/how-do-i-tell-my-custom-fragmentpageradapter-to-stop-destroying-my-fragments


以上所述就是小编给大家介绍的《android – 如何告诉我的自定义FragmentPagerAdapter来停止销毁我的碎片?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)

架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)

Martin L. Abbott、Michael T. Fisher / 陈斌 / 机械工业出版社 / 2016-4-15 / 99.00

任何一个持续成长的公司最终都需要解决系统、组织和流程的扩展性问题。本书汇聚了作者从eBay、VISA、Salesforce.com到Apple超过30年的丰富经验, 全面阐释了经过验证的信息技术扩展方法,对所需要掌握的产品和服务的平滑扩展做了详尽的论述,并在第1版的基础上更新了扩展的策略、技术和案例。 针对技术和非技术的决策者,马丁•阿伯特和迈克尔•费舍尔详尽地介绍了影响扩展性的各个方面,包......一起来看看 《架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具