На Android необходимо ли удалять прослушиватель датчиков при разрушении активности? - PullRequest
0 голосов
/ 11 февраля 2020

На платформе Android объекты Activity могут регистрировать SensorEventListener. Есть примеры, которые показывают, что объект Listener явно удаляется, когда уничтожается Activity, к которому он принадлежит. Но другие примеры не включают этот шаг, предполагая, что это может быть сделано автоматически. Это сделало бы лишний бит кода лишним. Я не уверен, что это правда.

Мой вопрос: если Activity зарегистрирован SensorEventListener, то какие ресурсы (если таковые имеются) останутся выделенными для Listener, если это не так? явно удаляется при уничтожении Activity? 1011 *

1 Ответ

2 голосов
/ 11 февраля 2020

Да, вам нужно удалить его самостоятельно перед уничтожением Активности. Если вы этого не сделаете, вы вызовете утечку памяти. В зависимости от вашей реализации, это может быть плохо.

Если все приложение уничтожено, то слушатель уходит, потому что все в приложении исчезает. Но я бы не стал полагаться на конкретное c поведение, вызывающее приложение на d ie - просто отмените его регистрацию в onDestroy для любого действия, в котором вы его регистрируете. Самый простой способ сделать это - использовать LifecycleObserver

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