【问题标题】:iOS AssetLibrary Storing PointeriOS AssetLibrary 存储指针
【发布时间】:2011-07-23 22:02:46
【问题描述】:

我有一个关于在 iOS 中使用 AssetLibrary 的问题。是否可以在您的应用程序中存储指向图像而不是实际图像的指针?假设我想创建一个播放列表,但我不想存储实际图像。

我问的原因是我发现当我使用图像选择器时,我可以将图像保存到设备文档目录中,但是一旦我达到 25 左右,它就开始减慢设备(iPad 1 )。如果图像非常大,我会按比例缩小,我多次通过泄漏仪器运行,并且没有泄漏。我只是不知道下一步该去哪里,所以我想研究替代方案。因为我看不到可以释放内存的地方。

这就是我现在所处的位置,我很好奇 AssetLibrary 是否可能是一个选项,因为我不会存储物理图像。我知道它有一些缺点(需要用户位置,循环图像时可能会有点慢)

对此的任何想法将不胜感激。

【问题讨论】:

    标签: ios memory image-scaling assetslibrary


    【解决方案1】:

    将 25 张图像存储到文档目录不应降低设备速度,除非您尝试同时将所有 25 张超大图像加载到内存中。

    您不能永久存储指向资产库资产的指针,但您可以存储从 ALAssetRepresentation 的 url 属性检索到的 URL,然后使用 ALAssetsLibrary 的 assetForURL:resultBlock:failureBlock: 稍后取回相应的 ALAsset。请注意,即使您的应用程序在后台,用户也可以从您的程序外部删除资产,因此如果您挂在 ALAsset 上,您必须侦听 ALAssetsLibraryChangedNotification 以了解何时重新加载资产。

    【讨论】:

    • 是的,我检查并检查,添加后我没有保留任何东西。也许我需要更好地学习乐器:-)。我有点想用户也可以从外部删除。现在我正在权衡我的选择。谢谢
    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 2014-11-23
    相关资源
    最近更新 更多