我正在下載很多圖像和文字(就像facebook的帖子)從服務器。我可以使用嵌套的線性佈局而不是列表視圖嗎?
所以當listview被滾動時,它會在創建循環視圖時閃爍。所以我想爲我的主線性佈局中的每個帖子使用多個線性佈局。
在這種情況下,會不會有滾動性能或內存消耗問題?請幫忙?
我正在下載很多圖像和文字(就像facebook的帖子)從服務器。我可以使用嵌套的線性佈局而不是列表視圖嗎?
所以當listview被滾動時,它會在創建循環視圖時閃爍。所以我想爲我的主線性佈局中的每個帖子使用多個線性佈局。
在這種情況下,會不會有滾動性能或內存消耗問題?請幫忙?
您不應該使用一堆LinearLayouts作爲ListView的替代品。
ListViews做一些叫做View Recycling的事情,這樣任何時候只有用戶可以看到的視圖數量纔會保存在內存中。其餘視圖在用戶向上/向下滾動時創建並放棄。例如,如果您的屏幕大小一次只能看到10行,則根據具體實現,任何時候只有10-15行ListView將存儲在內存中。
如果將您的ListView替換爲200 LinearLayouts,那麼您將在內存中保存200個ViewGroups。這可能會導致性能下降,或導致應用程序因OutOfMemoryError
而崩潰。
有關ListView性能改進的更多提示,請參閱此great post by Lucas Rocha。
那麼肯定會有性能問題由於listview創建並放棄了不重點的列表項,比如只有在屏幕上的那些(比如10個)在內存中,在線性佈局中所有200將不得不保留在內存中,這是堆棧而不是堆棧的內存,因此如果應用程序保持運行,並且由於內存不足問題將導致FORCE CLOSE,它會使您的手機受到影響。
你也可以讓你的線性佈局放棄不重點的項目,但即使經過這麼多的努力,它將與列表視圖一樣,所以我不會建議這樣做,而是直接使用列表視圖
爲什麼你不使用異步圖像下載機制? –
請發佈您的代碼.... – dipali
爲什麼不使用此答案中提到的自定義延遲加載庫? http://stackoverflow.com/a/8562313/1979347 –