Приложение Android убивается после блокировки экрана в течение некоторого времени - PullRequest
2 голосов
/ 21 марта 2019

Я разрабатываю приложение для Android, включающее запись данных в байтах в файл в памяти телефона с внешнего устройства, подключенного через Bluetooth. Мне нужно, чтобы приложение непрерывно работало в течение нескольких дней без остановки.

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

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

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

Android работает следующим образом,

  1. Установить соединение Bluetooth между внешним устройством и приложением для Android.

  2. Я использую библиотеку NRF BLE_app_uart, чтобы добиться цели.

  3. Получение данных в байтах с внешнего устройства на телефон через Bluetooth.

  4. Эти байты данных добавляются в статический массив и, используя внешний исполняемый поток, читают значения из массива и записывают / добавляют во внешний файл с помощью метода Outputwriter.

  5. Байт данных одновременно выводится на график из внешнего потока.

  6. Протестированным устройством является Redmi Y2 (Android O, 8.1.0).

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

Мое сомнение по поводу причины - проблема с памятью или из-за проблем с системой Android.

На самом деле приложение должно работать в течение нескольких дней, и мне интересно, как различные фитнес-приложения работают в течение нескольких дней.

...