5

我为 Android 开发了一个音频播放器,在我的浏览专辑活动中我遇到了一个性能问题:滚动延迟很多。

在这张图片中是我的布局表示:在此处输入图像描述

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

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

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

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

4

4 回答 4

2

经过多次优化,我改变了我的布局

我的新布局

于 2013-01-08T13:38:51.870 回答
1

你读过这篇文章吗?

Android 性能案例研究

它可能对您的情况有所帮助,但不了解您如何设置视图的更多信息,这只是一个建议。

于 2012-12-20T20:37:14.100 回答
0

嗯,不确定,如果这在您的情况下很容易,但我认为如果您将每个表行设为 RelativeLayout,您可能会删除行的大部分或全部 LinearLayout 元素。您只需声明,一行中的每个 LinearLayout 必须位于另一个具有 android:layout_toLeftOf 和 android:layout_alignParentRight 的左侧/右侧。

于 2012-12-07T22:13:01.880 回答
0

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

于 2012-12-20T20:31:05.100 回答