Android 巨大的滚动视图布局会降低应用程序的速度

Android 巨大的滚动视图布局会降低应用程序的速度,android,android-activity,scrollview,Android,Android Activity,Scrollview,我在项目中的滚动视图中遇到一些问题。我得在申请表上填一张大表格。我把它们放在滚动视图中。我在滚动视图中有70多行。 问题是活动速度变慢了,当我尝试插入编辑文本时,它的执行速度非常慢。当加载活动时,显示屏幕的时间太长。 我知道在一个活动中有很多视图,因此它变得越来越慢。 但在我的应用程序中,我需要在scroll中的单个活动中实现此表单。 有谁能给我提出更好的建议来实施这个计划吗 Santanu您应该为此使用自定义列表视图 如果你有很多行,你不能把它们放在一个ListView中,它会自动滚动。我在列

我在项目中的滚动视图中遇到一些问题。我得在申请表上填一张大表格。我把它们放在滚动视图中。我在滚动视图中有70多行。 问题是活动速度变慢了,当我尝试插入编辑文本时,它的执行速度非常慢。当加载活动时,显示屏幕的时间太长。 我知道在一个活动中有很多视图,因此它变得越来越慢。 但在我的应用程序中,我需要在scroll中的单个活动中实现此表单。 有谁能给我提出更好的建议来实施这个计划吗


Santanu

您应该为此使用自定义列表视图

如果你有很多行,你不能把它们放在一个ListView中,它会自动滚动。我在列表视图中有几百行,它滚动得非常快。此外,使用“保持架”模式可重复使用各个视图。这里有一个很好的参考,关于创建列表视图活动和通过列表项实现控件,您有什么想法。在这种情况下,您应该覆盖列表视图适配器的getView(每个控件的特定视图实现(pos 0-first控件、pos 1 second…等等,使用switch语句或类似的语句)

这种方法的好处是“lasy”控件创建:列表视图将只创建可以在屏幕上显示的项目,其他视图将“按需”创建

使用布局ID创建以下阵列:
int[]layouts=newint[]{R.layout.button\u布局、R.layout.spinner\u布局、R.layout.two\u复选框等}


并分别为每个项目创建布局文件。然后在getView方法中的特定位置将其放大。

谢谢您的回复。但在我的应用程序中,所有行都不相似,不同的行中都有微调器、复选框、单选按钮、编辑文本等。如果行数较少,则可以在getView中处理,但这里有很多行,我不知道如何处理它。我使用了表格布局来实现此表单。它不满足,您的getView()可以为pos 0返回微调器,为pos 1返回按钮,为pos 2返回线性布局中的两个复选框,等等