13

3 つのページがあり、ページ制限を 3 に設定しました。

  mViewPager.setOffscreenPageLimit(3);

これの実際の効果は何ですか?パフォーマンスが大幅に向上しますか、それともメモリ消費の問題を引き起こす可能性がありますか?

4

2 に答える 2

21

ドキュメント:http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)

アイドル状態のビュー階層で現在のページのいずれかの側に保持する必要があるページ数を設定します。この制限を超えるページは、必要に応じてアダプターから再作成されます。

これは最適化として提供されます。サポートする必要のあるページ数を事前に知っているか、ページに遅延読み込みメカニズムを配置している場合、この設定を微調整すると、ページングアニメーションとインタラクションの滑らかさを実感できるという利点があります。一度にアクティブに保つことができるページ数が少ない場合(3〜4)、ユーザーがページを前後に移動するときに、新しく作成されたビューサブツリーのレイアウトに費やされる時間が少なくなります。

特にページのレイアウトが複雑な場合は、この制限を低く抑える必要があります。この設定のデフォルトは1です。

3ページのみを使用する場合でも、ドキュメントで説明されているケースにとどまり、UIをよりスムーズにすることができます。もちろん、それはメモリを消費しますが、あなたがそのような範囲にとどまっている限り、それは問題ではないはずです。

于 2012-09-21T22:23:28.537 に答える