2011-03-27 3 views
0

J'ai une question sur l'utilisation de l'AssetLibrary avec iOS. Est-il possible de stocker un pointeur vers une image dans votre application plutôt que l'image réelle? Disons que je veux créer une playlist, mais je ne veux pas stocker l'image réelle. La raison pour laquelle je demande, c'est que je trouve quand j'utilise le sélecteur d'image, je peux enregistrer une image dans le répertoire de documents de périphériques, mais une fois que j'arrive à 25 ou plus, il commence à ralentir l'appareil (iPad 1). Je redimensionne les images si elles sont très grandes, j'ai traversé l'instrument de fuite plusieurs fois, et il n'y a pas de fuites. Je suis juste à une perte quant à l'endroit où se tourner ensuite, donc je voulais étudier des alternatives. Comme je ne vois nulle part où je peux libérer la mémoire.iOS AssetLibrary Storing Pointer

C'est là où je suis maintenant, je suis curieux de savoir si l'AssetLibrary pourrait être une option, car je ne vais pas stocker des images physiques. Je sais qu'il a quelques désavantages (nécessite l'emplacement des utilisateurs, peut être un peu lent lors de la boucle à travers les images)

Toutes les pensées à ce sujet seraient grandement appréciées.

Répondre

2

Le stockage de 25 images dans le répertoire de documents ne doit pas ralentir le périphérique, sauf si vous essayez de charger les 25 images extrêmement volumineuses en mémoire en même temps.

Vous ne pouvez pas stocker de façon permanente un pointeur sur l'actif d'actifs bibliothèque, mais vous pouvez stocker l'URL de récupérer pour récupérer le ALAsset correspondant plus tard de la propriété de ALAssetRepresentation url puis utilisez ALAssetsLibrary assetForURL:resultBlock:failureBlock:. Notez qu'il est possible pour l'utilisateur de supprimer l'élément à l'extérieur de votre programme, même lorsque votre application est en arrière-plan. Par conséquent, si vous vous accrochez à un fichier ALAsset, vous devez écouter ALAssetsLibraryChangedNotification pour savoir quand recharger les actifs.

+0

Oui, j'ai vérifié et vérifié, je ne garde rien après avoir ajouté. Peut-être que j'ai besoin d'apprendre des instruments mieux :-). J'ai un peu pensé qu'un utilisateur peut également supprimer de l'extérieur. En ce moment je pèse mes options. Merci – jabroni