0

是否可以在不使用 PHAsset 的情况下获取存储在 iPhone 上的照片?

这是因为使用 PHAsset 迫使我使用这种方法:

PHImageManager.defaultManager().requestImageForAsset( ... )

而且这种方法需要时间来执行。

我只想直接从存储它们的文件夹中获取图像。

4

1 回答 1

1

无法直接访问这些文件,因为它们不在您的应用程序的沙箱中。什么需要时间,当您使用该方法时

PHImageManager.defaultManager().requestImageForAsset( ... )

是文件被加载到内存中并解码为 UIImage。为避免这种情况,请查看方法

PHImageManager.defaultManager(). requestImageDataForAsset( ... )

此方法将文件加载为 NSData。

注意:如果你想构建一个照片应用程序,用户可以在照片之间滑动,最好的策略可能是以下。

  1. 使用PHCachingImageManager
  2. 当用户刷卡到实际图片使用

    PHImageManager.defaultManager().requestImageForAsset( ... )

由于图像是预加载的,这应该更快

另一种方法是首先加载较小的缩略图图像,然后延迟加载全屏图像。

于 2015-09-17T00:43:18.437 回答