This is a very simple question:
Background
I'm using the relatively new Lifecycle class (part of the android architecture components libraries) to handle some events of the Activity/Fragment in an easier way.
This is how you use it for handling ON_DESTROY event:
            lifecycle.addObserver(object : LifecycleObserver {
                @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
                fun onDestroy() {
                    lifecycle.removeObserver(this)
                    //Do something
                }
            })
The problem
I can't find in the docs and here, whether I should call removeObserver or that it's done automatically anyway upon the ON_DESTROY event.
What I've tried
I tried to read about it, and for now as a precaution I always call removeObserver .
The question
Is it safe to avoid calling removeObserver upon ON_DESTROY event?
 
                        
There is one chain of discussion over github related this topic.
As far as I know, there is no need to call
removeObserveexplicitly.The only reason is that lifecycle-aware components are specifically designed to make sure the observer is removed.
Here is the link to where this is discussed: https://github.com/googlecodelabs/android-lifecycles/issues/5