2015-01-29 2 views
1

Возможно ли захватить изображение камеры и использовать его в моем коде, но не сохранить изображение на устройстве? Мне нужно изображение для отправки в API, но мне не нужно, чтобы у пользователя был файл после этого. Это можно сделать?захватить изображение камеры, но не сохранять файл

+0

Какого объекта делает API допускает? – ygesher

+0

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

+1

Вы также можете установить будильник с AlarmManager, чтобы удалить его позже. В случае сбоя приложения или его закрытия. – Chazadanga

ответ

2

Это не очень хорошая идея, поскольку при обработке полноразмерного изображения в ОЗУ слишком много накладных расходов. Я бы лично создал уменьшенный предварительный просмотр, чтобы добавить в пользовательский интерфейс (если необходимо), а затем загрузить оригинал (сохраненный на SD) и впоследствии удалить.

Некоторые устройства будут вынуждать изображения в галерею. This will help you with said problem

Вот мой отредактированный ответ в отношении того, как я это сделаю.

  • Сохраните изображение на диск и убедитесь, что оно правильно закодировано для API, который вы используете.
  • Начать загрузку при наличии сетевого подключения (при необходимости).
  • Либо удалить изображение из службы или по расписанию тревоги для запуска службы и борьбы с ним позже
+0

Я не думаю, что держу декомпрессированные данные в ОЗУ на несколько секунд, пока она загружается, такая ужасная вещь. У вас есть данные для резервного копирования этого понятия? – ygesher

+1

При программировании для Android я всегда стараюсь, чтобы я использовал наименее доступные ресурсы, сохраняя при этом текущую работу с пользователем. Это просто хорошая практика программирования.Кроме того, это позволит сделать загрузку в отдельном потоке с помощью сервиса и т. Д., Сохраняя при этом UI свободный интерфейс. Это всего лишь более модульный подход. Я имею в виду, что если соединение с сервером происходит очень медленно или прерывается. я бы справился с этим все в службе, аккуратно, легко, расширяемо. – Chazadanga

+0

Я согласен, что это определенно то, что нужно отбросить от основного потока пользовательского интерфейса, но это все равно сохраняет его в ОЗУ точно так же ... – ygesher

0

если уры используя родную камеру Активности в

  • захватить изображение в файл
  • получить растровые изображения из файла
  • удалить файл

(и может сохранить изображение в скрытом каталоге {{его имя должно начинаться с точки
.hidden_dir/myimg.jpg}})

+0

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

+0

Я бы дал вам голосование за идею скрытого каталога, но у вас еще нет 15 очков. Спасибо, хотя –

+0

Я не подставлюсь, почему я получил -2 –

Смежные вопросы