在scrollview中为许多线性布局设置背景资源会导致延迟

时间:2014-03-11 00:13:43

标签: android android-layout

我正在以类似网格的布局向滚动视图动态添加大约150个线性布局。如果我使用setBackgroundResource(R.drawable.x)将背景资源设置为每个人的drawable,则scrollview显示非常明显的滞后和不连贯,即使drawable是简单的颜色和边框。

如果我删除了对setBackgroundResource的调用,则滚动视图会再次平滑。

预计会出现这么多包含背景的观点吗?如果是这样,我将如何为每个单元格制作具有自定义背景的网格?

2 个答案:

答案 0 :(得分:1)

您将要在滚动条中使用列表视图,并且您将要使用ListAdapater:

http://developer.android.com/guide/topics/ui/layout/listview.html

http://developer.android.com/reference/android/widget/Adapter.html

基本上正在发生的是你将大量图像加载到内存中,默认情况下滚动视图在管理释放和膨胀这些资源方面做得不是很好。

使用与上述类似的方法,通过一些自定义图像管理,我已经成功地在滚动条上运行了数千个视图。

答案 1 :(得分:0)

您似乎正在尝试创建自己的列表视图实现,以便您可以为每一行设置自己的布局。我不建议这样做。相反,使用Android提供的默认列表视图实现,而不是在列表视图,子类ArrayAdapter上设置默认ArrayAdapter实例,覆盖getView方法,并返回自定义布局。

我强烈建议您查看本教程以获得更全面的解释:

http://www.ezzylearning.com/tutorial.aspx?tid=1763429