初始化LoaderManager时如何分配实例ID

时间:2017-10-23 01:26:46

标签: android android-loadermanager asynctaskloader

为了使用AsynTaskLoader,我首先需要初始化LoaderManger。第一个参数是实例的唯一ID(整数)。

  • 是否有分配每个ID的最佳做法?
  • 我发现的几个例子是简单的,并将其分配为0或1?
  • 我是否需要担心实例相互冲突?

以下是ID设置为0的示例代码。

getLoaderManager().initLoader(0, null, this);

1 个答案:

答案 0 :(得分:1)

首先要使用AsyncTaskLoader,你需要初始化相应的Loader而不是LoaderManager。

  • 是否有分配每个ID的最佳做法?
  • 我发现的几个例子是简单的,并将其分配为0或1?

您应该将ID声明为常量,如 -

private static final int TASK_A = 1;
private static final int TASK_B = 2;
  • 我是否需要担心实例相互冲突?

不,即使你再次调用initLoader之前它只是跳过onCreateLoader方法并直接使用以前数据的缓存副本调用onLoadFinished