在片段的生命周期中使用单个ContentProviderClient

时间:2015-01-14 16:05:04

标签: android android-contentprovider android-contentresolver

在我的应用程序中,我有这样的代码:

class MyFragment extends Fragment {
    ContentProviderClient client;

    @Override
    public void onCreate(Bundle savedInstanceState) {
       ...
       client = getActivity().getContentResolver().acquireContentProviderClient("SOME_AUTHORITY");
    }

    @Override
    public void onDestroy() {
        client.release();
        ...
    }
}

它似乎工作正常,但我有点担心是否可以在片段生命周期中留下client未释放?我真的无法找到任何表明这是好事还是坏事的事情。

1 个答案:

答案 0 :(得分:0)

您需要清理所有资源。应该调用release()让android知道不需要内容提供者,并且可以清理资源。另请注意,除非您使用已返回的数据,否则不要调用release()。

查看ContentProviderClient javadocs以获取更多信息。