您可以設置一個系統來在滾動視圖中的某些位置刪除/加載某些圖像,因此當用戶即將看到它們時,應用程序只會將它們放在內存中。
因爲你認爲它很大,所以在scrollview的滾動方法中,設置變量來知道scrollview在哪個位置(例如:一半向下,10%滾動等)。如果用戶坐在滾動視圖的末尾(即:無法再向下滾動(100%)),那麼他們並不是完全看着視圖頂部的圖像。然後您可以刪除這些圖像,以便應用程序可以重新使用該內存。當用戶滾動並且滾動視圖接近特定百分比時,您可以加載用戶即將看到的圖像,並可以刪除用戶遠離的圖像(這可能會導致幾秒鐘的'空白'用戶瘋狂地通過你的應用程序滾動,但沒關係,因爲圖像全部加載不會超過幾秒鐘)。
因爲這些圖像被加載到故事板中,我假設你通過UIImageView加載它們。簡單地給每個人一個插座(按住Ctrl並單擊並將其拖動到您的課程的.h文件並創建一個IBOutlet),然後當您有多少用戶在您的滾動視圖的下方時,您可以知道'沒問題,用戶是
//^Get scrollview scrolled percentage
//^find out where the user is, get a list of UIImageViews that are not visible on the screen
_yourUIImageView.image = nil //get rid of the image, clear memory up
//then when you need to add it again, assign an image to the UIImageview
希望我幫助:在50%,所以我可以擺脫圖像的0-20%,並滾動視圖」的80-100%, 您做到這一點。
你應該做的第一件事是運行Analyzer並讓它檢查泄漏。然後運行探查器檢查泄漏。然後考慮是否需要保持所有這些圖像加載與使用某種緩存方案(例如,UIImage imageNamed)。 –