我找到了一些解决方案来删除数据库并使用 ContentProvider 重新创建它。
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()
被弃用了,有没有其他方法可以释放资源。
编辑:如果我尝试使用close(),它会显示如下警告。
This ContentProviderClient should be freed up after use with #release().
许多资源,例如 TypedArrays、VelocityTrackers 等,应该在使用后回收(通过 recycle() 调用)。此 lint 检查查找丢失的 recycle() 调用。
并且close()显示为禁用,为什么?