在Android平台上,Activity
对象可以注册SensorEventListener
。有示例显示Listener
对象在其所属的Activity
被销毁后被显式删除。但是其他示例不包括此步骤,表明此步骤可以自动完成。那将使多余的代码变得多余。我不确定这是否正确。
我的问题是:如果SensorEventListener
注册了Activity
,如果销毁Listener
时未明确删除Activity
,将保留哪些资源(如果有)?
是,您需要先删除它,然后再销毁活动。如果不这样做,将导致内存泄漏。根据您的实现,这可能是一个不好的选择。
如果整个应用程序被杀死,那么监听器就会消失,因为应用程序中的所有内容都会消失。但是我不会依赖导致应用程序死亡的特定行为-只需在您注册的任何Activity的onDestroy中注销它即可。最简单的方法是使用LifecycleObserver