2012-12-05 111 views
5

我为Android开发音频播放器并在我的浏览相册活动中出现性能问题:滚动滞后很多。优化复杂布局

在这个形象是我的布局表示:enter image description here

这是其显示一排的ListView;一行包含按艺术家分组的5张专辑。

每个不同的颜色是不同的布局文件。每个文件都由一个适配器管理。

在专辑(橙色)中,我没有在TextView上使用compoundDrawable,因为我有ImageView延迟加载,我不明白如何在textview compoundDrawable上进行这种延迟加载。

如果您需要,我可以发布所有布局文件。

+1

哪有这种配合在一个微小的智能手机屏幕?也许你应该看到你的性能问题,暗示你的布局太复杂了。 – Ridcully

+0

它适用于平板电脑和imageView,尺寸为80dp。在平板电脑7“屏幕上,我看到了2行5张专辑。 – flagadajones

回答

2

许多优化后,我改变我的布局像这样

My New Layout

0

嗯,不知道,如果这可能容易在你的情况下,但我认为如果你让每个表格行为RelativeLayout,你可能会删除行的大部分或全部LinearLayout元素。你只需要声明一行中的每个LinearLayout必须在android:layout_toLeftOf和android:layout_alignParentRight的左边/右边。

0

如果你需要简化布局以提高性能,你将不得不牺牲一些东西,这样的简化不会免费。 我想最有前途的方法是用GridLayout替换你的行列表视图布局。在原则上,你可以处理一个这样的网格布局该行内所有的布局,但为了有你有一个真正的好处,放弃在GridView(艺术家专辑网格)和处理,作为网格布局的一部分。这可能需要一些额外的Java代码,但我认为它应该提高性能。

1

你看过这篇文章吗?

Android Performance Case Study

它可以帮助你的情况而不是更多地了解你是如何建立视图,它只是一个建议。