iOS AssetLibrary存储指针

时间:2011-03-27 14:26:23

标签: ios memory image-scaling assetslibrary

我对使用AssetLibrary和iOS有疑问。可以在应用程序中存储指向图像的指针而不是实际图像吗?假设我想创建播放列表,但我不想存储实际图像。

我问的原因是,我发现当我使用图像选择器时,我可以将图像保存到设备文档目录,但是一旦我达到25左右,它就会开始减慢设备的速度(iPad 1) )。如果它们非常大,我缩小图像,我多次穿过泄漏仪器,并且没有泄漏。我只是不知道下一步该转向何处,所以我想研究替代方案。正如我所见,我无处可以释放记忆。

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

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

1 个答案:

答案 0 :(得分:2)

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

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