0

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

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

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

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

4

1 回答 1

2

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

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

于 2011-03-27T15:15:21.160 回答