【问题标题】:Best practice UIScrollView最佳实践 UIScrollView
【发布时间】:2016-07-08 06:12:35
【问题描述】:

我在 iOS 中使用 uiscrollview 时遇到内存问题。

我有一个带有巨大子视图 (4000x600) 的滚动视图。 在这个子视图中,我有其他 UIImageViews 作为子视图。

是这样的:

当我打开滚动视图时,我可以看到内存和进程都在急剧增加。

解决问题我想知道的是: 将我的所有视图直接添加到滚动视图而不传递到“中间”巨大视图会更好吗?

提前致谢。

【问题讨论】:

    标签: ios uiscrollview uikit


    【解决方案1】:

    您的许多子视图是直接添加为滚动视图的子视图还是单个大型容器视图都没有关系。只要将它们全部加在一起,它们就会一直加载在内存中并浪费资源。相反,您应该在用户左右滚动时动态添加和删除这些子视图。

    不要发明轮子,而是使用UICollectionView。它旨在完全满足您的需求。然后,每个图像视图将成为该集合视图中的一个单元格。集合视图管理视图重用,并且仅在内存中保存在滚动位置周围显示所需的单元格。

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

    【讨论】:

    • 我唯一要添加的是确保您在单独的线程上异步加载图像。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2014-12-21
    • 2010-12-23
    • 2010-10-14
    • 2023-03-19
    • 2011-11-08
    相关资源
    最近更新 更多