2013-07-12 2 views
1

У меня есть приложение для Android, использующее классическую структуру Gallery-Editor, реализующую по одному действию на каждый. Вы выбираете (нажмите) изображение из галереи, а действие редактора запускается через Intent. Когда вы нажмете кнопку «Назад», вы вернетесь в галерею. Пока все хорошо.Android, когда нужно сохранять тяжелые данные?

Дело в том, что сохранение файла занимает 5-10 секунд (и не может быть быстрее) в зависимости от оборудования ... так, когда я должен его сохранять?

Согласно Android docs

  • OnPause() блокирует следующую деятельность от начала.
  • onStop() не завершит сохранение до того, как Галерея будет на переднем плане (и вам нужно будет прочитать все, что будет сохранено к тому времени).

Итак, когда?

это мой единственный вариант сохранить в другом потоке и отметить всех на финише?

Благодаря

ответ

1

Что я сделал, это сохранить в отдельном потоке и отметить класс App с «сохранением» состояния. Затем все начальные действия проверяют это состояние и реагируют в соответствии (например, показывает диалог «сохранения»).

Если кому-то нужен пример кода, пожалуйста, комментарий и разместим что-то (не могу отправить точный код из-за проблем частной жизни, но не можете что-то с нуля, если это необходимо)

С уважением.

0

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

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