我找到了一些解決方案來刪除數據庫並使用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()
這是過時,是否有任何其他的方式來釋放資源。
編輯: 如果我嘗試使用close(),它將顯示如下警告。
This ContentProviderClient should be freed up after use with #release().
許多資源,如TypedArrays,VelocityTrackers等,應是 使用後回收的(與循環()調用)。此檢查檢查 缺少回收()調用。
and close()顯示爲禁用,爲什麼?
那麼什麼舊的設備? –
'這個ContentProviderClient應該在使用#release()後釋放。' 許多資源,例如TypedArrays,VelocityTracker等等,在使用後應該被回收(帶有recycle()調用)。此lint檢查查找丟失的回收()調用。 *顯示爲警告。* –
我猜'lint'警告有點讓人誤解:) – WenChao