In this article: Xamarin - Use Weak References to Prevent Immortal Objects It says that if two objects strong reference each other, they will become imortal, meaning the GC cannot collect them, even if the objects are no longer in use by the application.
However, in these 2 SO discussions:
Garbage collector and circular reference
Circular References Cause Memory Leak?
It seems that circular reference can be handled by GC, as long as the objects are no longer in use by the application.
Do I misundersand anything? Does Java's GC behave differently on Android? I am really confused. Any comments are appriatiated. Thanks!
I did some researches and want to answer my own question. Below are some findings:
I think that's it. Link some references on this topic: