Я нашел решение для удаления базы данных и воссоздания ее с помощью ContentProvider.ContentProviderClient release() устарело
ContentResolver resolver = mContext.getContentResolver();
ContentProviderClient client = resolver.acquireContentProviderClient(KOOPSContentProvider.AUTHORITY);
assert client != null;
KOOPSContentProvider provider = (KOOPSContentProvider) client.getLocalContentProvider();
assert provider != null;
provider.resetDatabase();
client.release();
но в этом ContentProviderClient класса имеет release()
, который осуждается, Есть ли другой способ, чтобы освободить ресурсы.
Отредактировано: Если я пытаюсь использовать (), он отображается как предупреждающий.
This ContentProviderClient should be freed up after use with #release().
Многие ресурсы, такие как TypedArrays, VelocityTrackers и т.д., должны быть переработаны (с вызовом рецикла()) после использования. Эта проверка линзы ищет недостающие вызовы recycle().
и закрыть() отображение как отключено, почему?
то насчет старшего устройства? –
'Этот ContentProviderClient должен быть освобожден после использования с #release(). После использования следует переработать многие ресурсы, такие как TypedArrays, VelocityTrackers и т. Д., После использования. Эта проверка линзы ищет недостающие вызовы recycle(). * Отображается как предупреждение. * –
Я предполагаю, что предупреждение «lint» немного вводит в заблуждение :) – WenChao