ユーザーが次のページにスワイプするときにラグがないように、ViewPager のフラグメントをプリロードすることは可能ですか? 私は 2 種類のアダプターを試してきましたが、Fragmentstatepageradapter (フラグメントを使用して N ページを生成しています) から fragmentpageadapter に切り替えても無駄です。ページにロードするビットマップがたくさんあります。ビューページャーのオフスクリーン ページを設定しても役に立ちません。それらをプリロードしてバックドウンで膨らませる方法はありますか? これがばかげた質問であることはわかっていますが、パフォーマンスについて少し必死です。基本的に私のアプリでは、ユーザーが次のページにスクロールすると、ページ間だけでラグが発生し、とても面倒です...助けてください。または正しい方向を指してください。私はジンジャーブレッドをターゲットにしているので、Android サポートが提供するものを使用する必要があります。
3610 次
1 に答える
8
ユーザーが次のページにスワイプするときにラグがないように、ViewPager のフラグメントをプリロードすることは可能ですか?
もちろん。アダプターにフラグメントをプリロードさせます。あなたはフラグメントを返す責任がありますgetItem()
- それらが「プリロード」されているかどうかはあなたの仕事です。
そうは言っても、問題はおそらくフラグメント自体ではなく、フラグメントが行っていることです。たとえば、「ページにロードするビットマップが大量にある」場合、メイン アプリケーション スレッドでそれらに関連する作業を行っている場合 (たとえば、 を使用BitmapFactory
)、独自の遅延が発生しています。
したがって、有能なプログラマーは、急いで「プリロード」するのではなく、 Traceview などのツールを使用して、遅れの原因を具体的に突き止めます。そして、そのとき初めて、有能なプログラマーが修正作業を開始します。
于 2013-02-27T20:51:52.767 に答える