【发布时间】:2012-02-09 06:51:23
【问题描述】:
我目前正在开发一个使用 ViewPager 的应用程序,问题是我这样做的方式使其启动非常缓慢并且占用大量内存。
我正在像这样实现 pageradapter:
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"));
}
所有布局对象都包含一个带有 textView 的 FrameLayout 和一个 panel,其中包含一个带有本地 html 的 webview。所有布局都有独特的内容,在 SliderLayout 类被实例化时加载和膨胀。
我还尝试在 instantiateItem 方法中动态添加视图,但这只会使滚动更加狡猾,并且如果我滚动太快会出现 OutOfMemory 致命异常。
所以我的问题是,实现包含多个独特视图(但基于相同布局)的 ViewPager 的最佳方法是什么,这样它不会消耗太多内存并且启动速度更快?
【问题讨论】:
标签: java android memory android-viewpager