私は現在、ViewPagerを使用するアプリケーションを開発しています。問題は、私がやっている方法が起動が非常に遅くなり、メモリを大量に消費することです。私はそうのようなpageradapterを実装していますViewPagerのメモリの問題
:
public MyPagerAdapter(Context context) {
views = new ArrayList<RelativeLayout>();
views.add(new SliderLayout(context, "slide 8"));
views.add(new SliderLayout(context, "slide 1"));
views.add(new SliderLayout(context, "slide 2"));
views.add(new SliderLayout(context, "slide 3"));
views.add(new SliderLayout(context, "slide 4"));
views.add(new SliderLayout(context, "slide 5"));
views.add(new SliderLayout(context, "slide 6"));
views.add(new SliderLayout(context, "slide 7"));
views.add(new SliderLayout(context, "slide 8"));
views.add(new SliderLayout(context, "Slide 1"));
}
すべてlayoutobjectsは、ローカルHTMLでのWebViewを含んでのTextViewとpanelとでframeLayoutが含まれています。すべてのレイアウトには、SliderLayoutクラスがインスタンス化されたときにロードされ、膨張されるユニークなコンテンツがあります。
また、instantiateItemメソッドでその場でビューを追加しようとしましたが、スクロールがもっと厄介になり、あまりにも速くスクロールするとOutOfMemoryの致命的な例外が発生します。
私の質問は、いくつかのユニークなビュー(同じレイアウトに基づいています)を含むViewPagerを実装する最良の方法は何ですか、それはあまりにも多くのメモリを消費せず、より速く開始しますか?
ありがとう、デモプロジェクトはあなたを指していますか?私は私の元の質問で私を助ける特定の何かを見つけることができないようです。 –
Support4DemosフォルダのFragmentPagerSupport.javaを見てください。フラグメントがあるViewPagerがありますが、FragmetPagerAdapterの代わりにPagerAdapterを使用し、getItem(int position)メソッドをpublic Object instantiateItem(ViewGroup container、int pos)メソッドに置き換えることができます(これは通常のListViewのアダプタで行います)。申し訳ありませんが、私の悪い、私はあなたが早くメソッド名を間違って取得します。 – deviant