gpt4 book ai didi

android - 每次 getItem() 触发时创建一个 fragment ?

转载 作者:行者123 更新时间:2023-11-30 03:32:51 25 4
gpt4 key购买 nike

Android docs ,有一个 FragmentStatePageAdapter,它在每次 getItem 触发时实例化一个 Fragment。这是理智的吗?我已经检查过了,每次我滑动都会触发,这意味着它每次都会创建一个 Fragment 吗?这是正确的吗?

@Override
public Fragment getItem(int i) {
Fragment fragment = new DemoObjectFragment();
Bundle args = new Bundle();
// Our object is just an integer :-P
args.putInt(DemoObjectFragment.ARG_OBJECT, i + 1);
fragment.setArguments(args);
return fragment;
}

我是 Android 的新手,所以我只想对此进行完整性检查。听起来不对。

最佳答案

这对于 FragmentStatePagerAdapter 是正常的。

根据 the documentation :

This version of the pager is more useful when there are a large number of pages, working more like a list view. When pages are not visible to the user, their entire fragment may be destroyed, only keeping the saved state of that fragment. This allows the pager to hold on to much less memory associated with each visited page as compared to FragmentPagerAdapter at the cost of potentially more overhead when switching between pages.

因此,FragmentStatePagerAdapter 完成了所有繁重的工作,以帮助您将内存占用保持在相对较低的水平。为此,它可能会破坏不可见的 fragment 。

通常,您可以使用ViewPager.setOffscreenPageLimit() 设置ViewPager 保留在内存中的离屏页面数。 .

关于android - 每次 getItem() 触发时创建一个 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17152339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com