The solution is pretty simple, you can just do this "plus" operation once and store the new object graph somewhere else (maybe the application class), but I was wondering if this is a good approach?
Yep. The logged-in graph's lifecycle needs to live as long as the user is logged in and the process is around. Since the activity's lifecycle is extremely short, this isn't a good place for it.
I used it as an example to ease people into the concept using something they are familiar with.
Can anyone from Square can provide any insight into what you do in your applications?
All graphs that aren't tied to UI are managed by an Application
class. Through this we are guaranteed that it's created once, created first, and only disappears if the process dies.
Anything UI-related (activity-scope graphs, fragment-scope graphs, etc.) is plussed on top of these as the UI comes and goes.