RemoteMediator
имеет initialize
API, выполнение которого гарантировано до начала загрузки. Вы можете переопределить initialize
, чтобы проверить устаревшие данные, чтобы выполнить любую необходимую настройку (например, удалить старые записи), хотя я лично был бы немного удивлен, если бы только 1000 строк вызывали значительные проблемы с производительностью.
Для путей горячего кода, таких как эти PagingSource
запросы, вы можете посмотреть androidx.benchmark, чтобы выяснить, стоит ли оптимизировать для.
Изменить: вы можете просто очистить таблицу при успешном удаленном обновлении sh, если вы не хотите оставлять старые твиты на refre sh, это самый простой подход. initialize
предназначен для случая, когда вам нужно выполнить ручную очистку / настройку / проверки устаревания (например, вы можете проверить, сколько лет вашим данным, и решить, хотите ли вы обновить sh или нет), но просто очистить удаленно refre sh перед вставкой новой страницы работает хорошо, потому что вам все равно придется перезапустить разбиение на страницы. Обязательно выполните команду clear + insert в той же транзакции, чтобы не получить два аннулирования из-за обновлений базы данных!