7

DownloadManager 有一个方法query()。我的问题是是否可以在 UI 线程上调用此方法,或者是否应该只从后台线程调用它?

调用它会导致 ANR 吗?

4

1 回答 1

5

如果查看方法的来源query()

public Cursor query(Query query) {
  Cursor underlyingCursor = query.runQuery(mResolver, UNDERLYING_COLUMNS, mBaseUri);
  if (underlyingCursor == null) {
    return null;
  }
  return new CursorTranslator(underlyingCursor, mBaseUri);
}

...这可以分解为在 UI 线程中访问游标是否安全的问题。请参阅 Mark Murphy 对此的出色回答。提炼:

所以在后台线程中查询 DownloadManager。

于 2013-04-04T00:19:46.967 回答