我有一個顯示由url設置的圖像的scrollView。現在我只想將可見圖像和上一張和下一張圖像預先加載到scrollView上以減少內存使用量。我該如何做到這一點?從UIScrollView中刪除'隱藏'的圖像
回答
如果您使用UITableView
而不是UIScrollView
,則可以創建自己的UITableViewCell
類型,在其內容中加載1個圖像。
好處是隻有可見的UITableViewCells
(當前顯示在設備屏幕上的那些)被加載到系統內存中,所以它不會使用太多的資源。
Here是您可以在互聯網上找到的許多CustomCell教程之一。
當我做同樣的事情時,我創建了3倍大小的UIScrollView。足夠大以容納3張圖像,即當前顯示的圖像和右下角的下一個兄弟圖像。
如果這些圖像之前沒有加載過,則會預加載這些圖像。所以用戶有一些流暢而敏感的外觀&的感覺。
當用戶滾動到下一個,他只能滾動一個,然後我重新排列視圖。可以說圖像1,2和3在滾動視圖中,而2是可見的,所以1,2(和3)被(預)加載。用戶向右滾動。圖像3將可見。只要它變得完全可見,我再次將滾動視圖的可見矩形設置到中間。現在圖像2是最左邊的一個,圖像3可見並且圖像4被放置爲最右邊並且預先加載。
當到達圖像列表的末尾時,即顯示第一個或最後一個圖像的末尾,然後我在最左邊或最右邊放置一個虛擬視圖,這是一個簡單的文本視圖,顯示「沒有更多圖片」。
很抱歉,我無法分享該代碼。
是的,我有這樣的東西已經工作,我的問題是刪除圖像不可見..太糟糕了,你可以我不會分享一些代碼,因爲這對我來說真的很有幫助 – Daantjeeuh 2013-04-23 12:03:30
不,這段代碼並沒有什麼幫助,因爲它「嵌入」了一些相當困難的商業邏輯,並且我在那裏犯了一些概念錯誤,因爲那是我的第一個真正的應用程序。你有什麼問題去除圖像?我使用了某種應用程序內部緩存,我將它們保存在字典中,當內存警告進入時,我刪除該字典中最舊的一半。與此同時,我學會了更好的緩存解決方案。但是,除去它們的具體問題是什麼? – 2013-04-23 12:46:27
- 1. 刪除/隱藏CButtonColumn的圖像標籤
- 2. 從DataGridViewImageColumn中隱藏圖像
- 3. 從UIScrollView中刪除所有子視圖?
- 4. UIScrollView隱藏UINavigationBar
- 5. Android隱藏和刪除imageview中的圖像
- 6. 如何從HTML畫布中取出,隱藏,移除或刪除圖像?
- 7. 從PreferenceScreen中隱藏/刪除ListPreference
- 8. 從KeystoneJS URL中刪除/隱藏Mongo ObjectID
- 9. iPhone在UIScrollView中隱藏圖像的部分
- 10. UIScrollview刪除隱藏字段之間的空格
- 11. 從UIScrollView中刪除UIImageView
- 12. 從UIScrollView中刪除按鈕
- 13. 刪除/隱藏CustomBadge
- 14. 從圖庫中隱藏圖像
- 15. 無法從self.navigationcontroller.view中刪除/隱藏最近添加的視圖
- 16. 刪除隱藏圖像的「空白區域」
- 17. 刪除/隱藏TinyMCE調整圖像元素的拖動控點
- 18. xamarin andriod ExpandableListView:從組中刪除或隱藏子視圖
- 19. 從MediaRouteControllerDialog中刪除圖像
- 20. 從UI中刪除圖像
- 21. 從NSMutableArray中刪除圖像
- 22. 從Gridview中刪除圖像
- 23. 從UICollectionViewController中刪除圖像
- 24. 從UIImageView中刪除圖像
- 25. 從IKImageView中刪除圖像
- 26. 從圖像中刪除行
- 27. 從圖像中刪除卷
- 28. HTML/CSS - 刪除/隱藏圖層頭
- 29. 從索引中隱藏目錄圖像
- 30. 刪除/隱藏DIV從網站
你有什麼試過? +可能你可以使用UICollectionView而不是「原始」滾動視圖,所以將獲得重用功能開箱 – Vladimir 2013-04-23 10:25:26