iOS AssetLibrary Хранение указателя - PullRequest
0 голосов
/ 27 марта 2011

У меня есть вопрос об использовании AssetLibrary с iOS.Можно ли сохранить указатель на изображение в вашем приложении, а не на фактическое изображение?Допустим, я хочу создать список воспроизведения, но не хочу сохранять фактическое изображение.

Причина, по которой я спрашиваю, заключается в том, что при использовании средства выбора изображений я могу сохранить изображение вкаталог документов устройств, но как только я доберусь до 25 или около того, он начнет тормозить устройство (iPad 1).Я уменьшаю изображения, если они очень большие, я много раз пробежал по инструменту утечки, и никаких утечек нет.Я просто в растерянности относительно того, куда обратиться дальше, поэтому я хотел исследовать альтернативы.Как я нигде не вижу, где я могу освободить память.

Вот где я сейчас нахожусь, мне любопытно, может ли опция AssetLibrary подойдет, поскольку я не буду хранить физические изображения.Я знаю, что это имеет некоторые недостатки (требует расположения пользователей, может быть немного медленным при циклическом просмотре изображений)

Любые мысли по этому поводу будут с благодарностью.

1 Ответ

2 голосов
/ 27 марта 2011

Хранение 25 изображений в каталоге документов не должно замедлять работу устройства, если только вы не пытаетесь одновременно загрузить все 25 чрезвычайно больших изображений в память.

Невозможно сохранитьуказатель на ресурс библиотеки ресурсов, но вы можете сохранить URL-адрес, полученный из свойства url ALAssetRepresentation, а затем использовать assetForURL:resultBlock:failureBlock: ALAssetsLibrary, чтобы позднее вернуть соответствующий ALAsset.Обратите внимание, что пользователь может удалить ресурс из-за пределов вашей программы, даже если ваше приложение находится в фоновом режиме, поэтому, если вы держитесь за ALAsset, вы должны прослушать ALAssetsLibraryChangedNotification, чтобы узнать, когда следует перезагружать ресурсы.

...