2010-05-06 43 views
0

我目前有一個UIScrollView其內容大小約等於50頁,每個應用程序視圖的大小。
我已經實現了使用分頁的滾動功能,並始終將當前,上一頁和下一頁保存在內存中,而其餘部分則在需要時創建,例如,當人們向前滑動時,舊的'先前'視圖被釋放,並且加載新的'下一個'視圖。適當的控制頁面像刷卡

當'scrollViewDidEndDeaccelerate'被調用時,新頁面被加載並且舊版本被釋放。

這樣做的缺點是頁面需要在新的頁面滑動開始之前完全解決。

有沒有一種更有效的方式來做到這一點與不同類型的控制? UITableView的?

我正在尋找其他類型控件的解決方案 - 而不是使用例如UIScrollView實現的解決方案。佔位符圖像並根據需求加載高分辨率圖像。

回答

0

聽起來就像你在正確的軌道上,因爲預測緩存是我可以提供的唯一想法......你在做什麼。也許檢查可用內存並加載到一定比例的內存可能會有所幫助,但要注意監視內存不足警告並轉儲距當前視圖位置最遠的項目。

+0

它是否使用額外的內存,事實上,即使沒有內容實際上被放置在裏面的UIScrollView的contentSize是巨大的? – 2010-05-06 20:26:44

+0

內容視圖的大小並不一定意味着更大的內存大小。這個值(不知道蘋果實現)用於佈局,只是一個值。爲了證明這一點,嘗試將它設置爲一個荒謬的值(比如321,473,320 < - 這太可笑了!),然後用你最喜歡的方法檢查你的內存消耗。 – gnasher 2010-05-07 07:36:17