Performance 希望提高Android ViewPager用户界面的性能

Performance 希望提高Android ViewPager用户界面的性能,performance,android-viewpager,android-tablelayout,Performance,Android Viewpager,Android Tablelayout,我的Android应用程序使用ViewPager在每个页面上显示项目列表。每个列表行由一个TableLayout组成,它依次有三个TableRows,每个都有几个textview和一个ImageView 事情做得很好,但随着更多页面(以及列表)的添加,UI会陷入停滞,尤其是在水平分页时(在垂直列表滚动时要少得多)。我正在寻找如何提高UI性能 使用层次视图,只有ViewPageritsef显示高布局和绘图时间(即红色停车灯图标),每页有10页和4-20个列表项(行)。布局似乎已经很浅了,但我想知道

我的Android应用程序使用
ViewPager
在每个页面上显示项目列表。每个列表行由一个
TableLayout
组成,它依次有三个
TableRows
,每个都有几个
textview
和一个
ImageView

事情做得很好,但随着更多页面(以及列表)的添加,UI会陷入停滞,尤其是在水平分页时(在垂直列表滚动时要少得多)。我正在寻找如何提高UI性能

使用层次视图,只有
ViewPager
itsef显示高布局和绘图时间(即红色停车灯图标),每页有10页和4-20个列表项(行)。布局似乎已经很浅了,但我想知道是否可以进一步改进

一些伪代码给出了布局结构的概念:

每个列表行使用如下结构的表格布局:

<TableLayout>
    <TableRow>
        <TextView/ >
        <TextView/ >
        <TextView/ >
    </TableRow>

    <TableRow>
        <ImageView/>
        <TextView/ >
        <TextView/ >
        <TextView/ >
    </TableRow>

    <TableRow>
        <TextView/ >
        <TextView/ >
        <TextView/ >
    </TableRow> 

    <TableRow>
        <TextView/ >
        <TextView/ >
    </TableRow> 

    <TableRow >     
        <TextView/ >
        <TextView/ >
        <TextView/ >
        <TextView/ >
    </TableRow>     
</TableLayout>

主活动的布局使支持膨胀
ViewPager
。我在每个
ViewPager
页面上使用
ListFragment
,因此当创建一个新页面时,
ListFragment
代码会膨胀
ListView
布局,而这反过来又会膨胀上面显示的
TableLayout

我的具体问题是:

  • 我是否应该用一个
    RelativeLayout
    替换
    TableLayout
    ,并尝试去掉一个深度层?由于我将
    文本视图显示为五行,每行有2-4个不同间距的字段,因此我怀疑这可能会变得棘手。但即使我能完成它,它会为我买些什么吗,因为层次结构视图只显示每个表布局的“绿灯”图标
  • 我正在使用
    FragmentPagerAdapter
    。使用这个在内存中最多有10页是不是很疯狂?我知道当使用这个(或类似的东西)时,推荐不超过3-4页。我尝试了
    FragmentStatePagerAdapter
    ,但最终花了太多时间/资源/电池在寻呼时不断从internet检索数据。(我知道,也许我需要缓存它…)。我需要保留视图的能力,并且一直在玩
    setOffScreenPageLimit
    ,将其设置为10,以便所有视图都保留在内存中

非常感谢您的建议,因为我对Android还比较陌生,谢谢。

您解决了这个问题吗?您解决了这个问题吗?