2

ユーザーが次のページにスワイプするときにラグがないように、ViewPager のフラグメントをプリロードすることは可能ですか? 私は 2 種類のアダプターを試してきましたが、Fragmentstatepageradapter (フラグメントを使用して N ページを生成しています) から fragmentpageadapter に切り替えても無駄です。ページにロードするビットマップがたくさんあります。ビューページャーのオフスクリーン ページを設定しても役に立ちません。それらをプリロードしてバックドウンで膨らませる方法はありますか? これがばかげた質問であることはわかっていますが、パフォーマンスについて少し必死です。基本的に私のアプリでは、ユーザーが次のページにスクロールすると、ページ間だけでラグが発生し、とても面倒です...助けてください。または正しい方向を指してください。私はジンジャーブレッドをターゲットにしているので、Android サポートが提供するものを使用する必要があります。

4

1 に答える 1

8

ユーザーが次のページにスワイプするときにラグがないように、ViewPager のフラグメントをプリロードすることは可能ですか?

もちろん。アダプターにフラグメントをプリロードさせます。あなたはフラグメントを返す責任がありますgetItem()- それらが「プリロード」されているかどうかはあなたの仕事です。

そうは言っても、問題はおそらくフラグメント自体ではなく、フラグメントが行っていることです。たとえば、「ページにロードするビットマップが大量にある」場合、メイン アプリケーション スレッドでそれらに関連する作業を行っている場合 (たとえば、 を使用BitmapFactory)、独自の遅延が発生しています。

したがって、有能なプログラマーは、急いで「プリロード」するのではなく、 Traceview などのツールを使用して、遅れの原因を具体的に突き止めます。そして、そのとき初めて、有能なプログラマーが修正作業を開始します。

于 2013-02-27T20:51:52.767 に答える