为什么android InvalizationTracker.onInvalidated调用一次又一次,如何合并一个?

为什么android InvalizationTracker.onInvalidated调用一次又一次,如何合并一个?,android,android-room,Android,Android Room,我使用InvalizationTracker observer数据库,如: String[] tables = new String[]{"a", "b", "c"}; mObserver = new InvalidationTracker.Observer(tables) { @Override public void onInvalidated(@NonNull Set<Stri

我使用InvalizationTracker observer数据库,如:

String[] tables = new String[]{"a", "b", "c"};
mObserver = new InvalidationTracker.Observer(tables) {
            @Override
            public void onInvalidated(@NonNull Set<String> tables) {
                invalidate();
            }
        };
mDb.getInvalidationTracker().addWeakObserver(mObserver);
然后,
onInvalidated()
方法将多次调用,而param
Set tables
,每次只调用一个表名,如何合并调用

mDatabase.runInTransaction(new Runnable() {
            @Override
            public void run() {
                mDatabase.aDao().update();
                mDatabase.bDao().update();
                mDatabase.cDao().delete();
            }
});