It’s necessary close coroutine actor on Android ViewModel
that are using viewModelScope
to call that actor?
In the document said:
When the inbox channel of the actor is closed it sends a special “close token” to the actor. The actor still processes all the messages that were already sent and then “
for (msg in channel)
” loop terminates and the actor completes.
And
When actor’s parent job is cancelled, then actor’s job becomes cancelled. It means that “
for (msg in channel)
” and other cancellable suspending functions throw CancellationException and actor completes without processing remaining messages.
So, imho, I think it’s not necessary to call close()
for the lifecycle aware purpose.
1 Like