我的应用有Room + RxJava2
。
这是我的 DAO :
@Query("SELECT * FROM calendar")
Maybe<List<EventModel>> getAll();
存储库:
calendarDao.getAll()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(calendarDays -> {
if (calendarDatabaseCallback != null)
calendarDatabaseCallback.onCalendarItemsLoaded(calendarDays);
});
问题是 - 当我调用此方法时,当我尝试从DB
获取许多记录时(在上面的示例中我有大约500个)GC
被调用大约20次,类似的消息:
GC_FOR_ALLOC freed 8026K, 13% free 60595K/69048K, paused 42ms, total 42ms
Rx
上的订阅者Schedulers.io
不应该在不触及thread
的情况下负责处理新的UI
吗?