Invalidation Tracking and Processes
InvalidationTracker is an ordinary Java class. So are
RoomDatabase and the code-generated bits that we get from the Room compiler. They are part of the memory of whatever process that you used to create an instance of your
If you have two processes, each working with the same
RoomDatabase subclass, each process will have its own independent instance of that subclass, and each of those will be associated with its own
InvalidationTracker. Each of those instances will know nothing about the other.
If you modify the database in one process, the
InvalidationTracker of that process can notify observers in that process about updated results to their queries. However, by default, the
InvalidationTracker of the other process will not find out about the database modifications and will not be able to update its own observers with fresh data.
Prev Table of Contents Next
This book is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license.