为什么android InvalizationTracker.onInvalidated调用一次又一次,如何合并一个?
我使用InvalizationTracker observer数据库,如:为什么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
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()
方法将多次调用,而paramSet tables
,每次只调用一个表名,如何合并调用
mDatabase.runInTransaction(new Runnable() {
@Override
public void run() {
mDatabase.aDao().update();
mDatabase.bDao().update();
mDatabase.cDao().delete();
}
});