iphone лучший способ хранить изображения - PullRequest
2 голосов
/ 12 ноября 2009

Я разрабатываю приложение, которое должно кэшировать некоторые изображения из Интернета, изображения, вероятно, будут 100x100

Мне просто нужно знать, что лучше:

  1. Сохранение изображений в виде файлов в файловой системе iPhone
  2. Сохраните их как BLOB-объекты в sqlite Db вместе с другими данными, уже сохраненными в базе данных.

Ценю вашу помощь.

Ответы [ 2 ]

4 голосов
/ 12 ноября 2009

Хранение изображений в базе данных определенно не рекомендуется Apple, файловая система действительно хороша для размещения файлов (в данном случае изображений) на диске, что делает ее лучшим решением для сохранения изображений. Это были те же слова, что и евангелист технологии Apple, который использовал во время мирового тура iPhone Tech Talk в Париже. Если это всего лишь несколько изображений, вам это может сойти с рук, но когда число потенциально может стать довольно большим, файлы - это путь.

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

[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"image.png"]]

Edit: imageWithContentsOfFile не загружает изображение сразу, поэтому не блокирует поток и не кэширует изображение. Другой метод imageNamed: блокирует поток и загружает изображение сразу, с другой стороны, кеширует изображение.

1 голос
/ 12 ноября 2009

Исходя из прошлого опыта, хранение (и извлечение) изображений из файловой системы должно быть немного быстрее, чем из БД. Что касается простоты обработки и обслуживания, то это зависит только от того, с чем вы более знакомы: скриптов SQL или функций файловой системы iphoneOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...