Android系统调用Fragment.setUserVisibleHint()吗?

是由System调用的Fragment.setUserVisibleHint()方法,或者
我们手动调用它吗?

Solutions Collecting From Web of "Android系统调用Fragment.setUserVisibleHint()吗?"

看看来源 ,看起来这个系统主要是用于放入寻呼机的碎片。 你(或者例如片段寻呼机的实现)应该把它设置为一个提示(“由应用程序提供的提示”作为Fragment源文件中的注释),例如,它可以推迟它的加载(初始化)if不可见并且优先加载可见片段(再次用于寻呼机时通常需要)。

请注意, FragmentPagerAdapter利用这个,并正确地调用它的片段setUserVisibleHint() ,这就是为什么我想你会看到一些人build议如重写setUserVisibleHint()知道何时可以看到一个片段(和这只会在片段位于FragmentPagerAdapter时才起作用,而不是当放在通常的活动布局中时)。

所以要清楚地回答这个问题:你手动调用它, FragmentPagerAdapter也手动调用它。

从文档:

为系统设置提示,告知用户当前是否可以看到这个片段的用户界面。 此提示默认为true,并且在片段实例状态保存和恢复中保持不变。

应用程序可能会将其设置为false,以指示片段的UI已滚动出可见性,否则对用户不可见。 系统可以使用这个优先级来确定操作,例如片段生命周期更新或装载器sorting行为。

参数isVisibleToUser如果此片段的UI当前对用户可见(默认),则为true;如果不是,则为false。

听起来像是默认为True,如果你愿意,你可以设置为False。

文档

不适用于低于版本15的Android以及不低于版本11的Android支持库。