Android 应该在哪里使用PageViewer?

Android 应该在哪里使用PageViewer?,android,android-activity,android-fragments,navigation,android-viewpager,Android,Android Activity,Android Fragments,Navigation,Android Viewpager,我已经实现了ViewPager和片段的数量作为子级,这里每个子级覆盖自己的onAttach、onCreateView、onViewCreated和setUserVisibleHint 在我的应用程序中,导航行为是随机的,不是每次都按顺序。由于页面查看器执行缓存以加载额外的子级,这就是我的问题所在。我不确定何时应该初始化/释放child类的成员 需要你们的建议,在这种情况下,是最好使用PageViwer,还是我应该为每个组件使用传统的活动流程。查看寻呼机的用法 屏幕幻灯片是整个屏幕到另一个屏幕之间

我已经实现了ViewPager片段的数量作为子级,这里每个子级覆盖自己的
onAttach、onCreateView、onViewCreated和setUserVisibleHint

在我的应用程序中,导航行为是随机的,不是每次都按顺序。由于页面查看器执行缓存以加载额外的子级,这就是我的问题所在。我不确定何时应该初始化/释放child类的成员


需要你们的建议,在这种情况下,是最好使用PageViwer,还是我应该为每个组件使用传统的活动流程。

查看寻呼机的用法

屏幕幻灯片是整个屏幕到另一个屏幕之间的过渡,在UI(如设置向导或幻灯片)中很常见

若您对片段有很好的了解,那个么ViewPager就是实现的正确组件。 因为viewpager提供了一个可以在运行时添加片段的地方

例如。 若要在项目中使用TabBar,则viewpager是最适合使用的组件。因为它提供了一个可以在运行时添加片段的地方。Tabbar在android应用程序中很常见。它在build中提供了很多功能,我们可以使用这些功能添加片段运行时。 Facebook应用程序使用ViewPager管理选项卡。Viewpager提供应用程序的流畅性

您可以从这个url下载示例,并检查您的需求是否满足


查看寻呼机的使用

屏幕幻灯片是整个屏幕到另一个屏幕之间的过渡,在UI(如设置向导或幻灯片)中很常见

若您对片段有很好的了解,那个么ViewPager就是实现的正确组件。 因为viewpager提供了一个可以在运行时添加片段的地方

例如。 若要在项目中使用TabBar,则viewpager是最适合使用的组件。因为它提供了一个可以在运行时添加片段的地方。Tabbar在android应用程序中很常见。它在build中提供了很多功能,我们可以使用这些功能添加片段运行时。 Facebook应用程序使用ViewPager管理选项卡。Viewpager提供应用程序的流畅性

您可以从这个url下载示例,并检查您的需求是否满足

查看寻呼机

  It is an widget 

  Allows the user to swipe left or right to see an entirely new screen. 

  Easy  to show the user multiple tabs

  Dynamically add and remove pages (or tabs) at anytime.
阅读更多信息:

ViewPager

  It is an widget 

  Allows the user to swipe left or right to see an entirely new screen. 

  Easy  to show the user multiple tabs

  Dynamically add and remove pages (or tabs) at anytime.

要阅读更多信息:

查看页面
通常用于高效的水平项目到项目导航。典型的用例是

  • 浏览相关项目(如电子邮件、图像、专辑歌曲等)
  • 在标签之间滑动
  • 在类似向导的活动中来回滑动
有关更多详细信息,您可以阅读有关的部分

关于生命周期,它基本上使用与任何其他片段相同的生命周期。唯一的区别是,由于fragment的缓存
ViewPager
implements,生命周期方法可以比您预期的稍晚或稍早调用

我不确定何时应该初始化/释放child类的成员

您基本上应该依赖两种方法:
onStart()
onStop()
。在
onStart()
中,您可以创建类成员并初始化所有需要的内容。在
onStop()
方法中,您应该取消初始化所有内容,并删除在
onStart()
中设置的所有侦听器

方法
setUserVisibleHint()
独立于
onStart()
onStop()
使用。你最好不要初始化或破坏里面的任何东西。你不能把它看作生命周期方法,因为它不是。它只是给你一个提示,你的片段对用户是可见的。在这里,您可以启动或停止动画,或请求数据更新或执行类似任务。这是这种方法的唯一目的

需要你们的建议,使用它会更好吗 PageViwer在这种情况下,或者我应该使用传统的活动流程 对于每个组件

如果您的活动符合上述要点之一,我建议您使用
ViewPager
。否则,您可能会考虑其他选项。
更新:很可能您不会经常覆盖片段的
onCreate()
onDestroy()
生命周期方法。您将使用
onCreateView()
onDestroyView()
方法。在这里,您可以实现所谓的静态初始化,即当片段仍然存在时不会更改的初始化。这是布局初始化和类似的任务。

ViewPager
通常用于将高效的水平项目移动到项目导航。典型的用例是

  • 浏览相关项目(如电子邮件、图像、专辑歌曲等)
  • 在标签之间滑动
  • 在类似向导的活动中来回滑动
有关更多详细信息,您可以阅读有关的部分

关于生命周期,它基本上使用与任何其他片段相同的生命周期。唯一的区别是,由于fragment的缓存
ViewPager
implements,生命周期方法可以比您预期的稍晚或稍早调用

我不确定何时应该初始化/释放child类的成员

您基本上应该依赖两种方法:
onStart()
onStop()
。在
onStart()
中,您可以创建类成员并初始化所有需要的内容。在
onStop()
方法中,您应该取消初始化所有内容,并删除在
onStart()
中设置的所有侦听器

方法
setUserVisibleHint()
独立于
onStart()
onStop()
使用。你最好不要初始化或破坏里面的任何东西。你不能把它看作生命周期方法,因为它不是。它只是给你一个提示,