2016-03-21 167 views
0

我在使用iOS中的uiscrollview時遇到內存問題。最佳做法UIScrollView

我有一個巨大的子視圖(4000x600)滾動視圖。 在這個子視圖中,我有其他UIImageView作爲子視圖。

這種情況:

Test

當我打開了滾動,我可以看到內存和進程急劇增加。

我想知道解決問題的方法是: 將所有視圖直接添加到滾動視圖,而不傳遞到「中間」巨大視圖更好嗎?

在此先感謝。

回答

5

如果將多個子視圖直接添加爲滾動視圖或單個大容器視圖的子視圖,則無關緊要。只要它們全部加在一起,它們就會被加載到內存中並浪費資源。相反,當用戶向左和向右滾動時,應該動態添加和刪除這些子視圖。

而不是發明車輪,使用UICollectionView。它意味着完成你所需要的。每個圖像視圖將成爲該集合視圖中的一個單元格。集合視圖管理視圖重用,並且只在內存中保存圍繞滾動位置顯示的必要單元。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICollectionView_class/

+1

我想補充的唯一的事情是要確保你在一個單獨的線程加載圖像,同步進行。 – PeejWeej