2012-04-21 173 views
2

我開始一個Activity來初始化一個複雜的佈局。這是一個包含大量圖片,文字瀏覽,EditTexts,Checboxes,Spinners和ActionListener的表格。每個項目的位置都不相同,具體取決於被調用者的起始位置。所以信息存儲在意圖中。佈局計算持續時間太長

這意味着:佈局不能通過XML構造,因爲所有的項目總是有不同的位置。

問題:此計算需要很長時間。活動開始前最多可能需要400   ms。這真是太糟了。

我該如何避免這種情況?據我所知,我不能預先計算佈局。無法克隆視圖。如果我在另一個Activity中創建該視圖並將其分配到此處,我也會遇到一些崩潰。

+0

400ms意味着大約半秒鐘,我認爲這將是好的 – 2012-04-21 10:56:02

+0

xml佈局的加載速度更快,然後java代碼視圖和400ms是不是一個很長的時間。 – 2012-04-21 12:17:26

+0

您將得到更好的答案,並提供一些關於佈局結構的額外細節。 – QED 2012-04-21 12:53:41

回答

1

用碎片構建您的佈局,併爲用戶的整個構造製作動畫。可能需要超過400毫秒才能完成,但用戶是看到你的美麗佈局在他眼前創造的體驗。如果沒有你的佈局細節,很難給出比這更多的建議。

0

我也認爲400毫秒不是很多時間。你可以嘗試

一件事是,你可以在XML文件中,並在您的活動創建佈局創造出重新定位的所有元素的功能。首先重新定位你可以得到你的視圖的佈局參數,然後你可以設置新的位置,然後你可以根據新的位置再次在你的視圖上設置佈局參數。

+0

400 mx實際上是非常多,當你點擊並期待一個迴應。實際上我正在做的是重新組織布局 - 不幸的是,這是大部分時間都需要的。 – softwaresupply 2012-04-21 11:34:23

+0

我遇到類似的問題。我結束了重新設計佈局,使其作爲ListView工作...我不知道這是否可能是你的情況。 – Caumons 2012-04-21 11:41:24

+0

我認爲如果你將克隆視圖,那麼你也需要改變你所有視圖的位置。因此,這將與我上面提出的相同,您可以重新定位所有視圖。 – 2012-04-21 11:49:58