Difference between addValueEventListener() and addListenerForSingleValueEvent() of firebase

addValueEventListener() keep listening to query or database reference it is attached to.

But addListenerForSingleValueEvent() executes onDataChange method immediately and after executing that method once, it stops listening to the reference location it is attached to.