【问题标题】:Loaded 50+ images from document directory in UIScrollview app get crash从 UIScrollview 应用程序中的文档目录加载 50 多张图像崩溃
【发布时间】:2017-02-06 11:00:36
【问题描述】:

从 UIScrollview 应用程序中的文档目录加载 50 多张图像会崩溃。获取“与资产的连接被中断或资产死亡(带有内存警告)”。任何人都可以建议加载这些图像的最佳方法吗?提前致谢。我的代码在 Objective-C 中。

【问题讨论】:

  • 为什么需要将它们全部加载到内存中?你不能只加载那些正在显示的吗?使用UICollectionView 或UITableView 将有助于完成这项任务。

标签: ios objective-c uiscrollview


【解决方案1】:

在您的情况下显示图像的最佳选择是使用 UITableView 或 UICollectionView,因为当它们不再显示在屏幕上时,它们会在内部使单元格出列。 . 在您的情况下,UIScrollView 不会将其子视图出列,因此屏幕始终包含图像,这会消耗更多内存,并且由于内存使用过多,操作系统会关闭(崩溃)您的应用程序。

【讨论】:

  • 现在,当我在 UICollectionView 中滚动时有 20 到 30 张图像时,我正在使用 UICollectionView。我收到了内存警告。请尽快提出建议。
  • 您能分享一下您希望使用 CollectionView 实现的输出吗? (提供一些你需要的布局截图)
  • “内存警告”的主要原因之一可能是图像的大小。如果图像非常大,可能会占用大量内存。您可能需要先压缩图像,然后再将它们显示在集合视图中。
【解决方案2】:

你应该使用 UITableView 而不是 UIScrollView。 但是,如果它们是非常大的图像,则仅加载一张图像就会崩溃,除非对其进行预处理(调整大小)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2019-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多