2012-12-05 154 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

它可以幫助你的情況而不是更多地瞭解你是如何建立視圖,它只是一個建議。