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 RoomDatabase
subclass.
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.