6
DownloadManager有一個方法query()。我的問題是,如果可以在UI線程上調用此方法,還是隻應從後臺線程調用它?可以在UI線程上查詢DownloadManager嗎?
可以稱之爲曾經導致ANR?
DownloadManager有一個方法query()。我的問題是,如果可以在UI線程上調用此方法,還是隻應從後臺線程調用它?可以在UI線程上查詢DownloadManager嗎?
可以稱之爲曾經導致ANR?
如果一個着眼於query()
方法的source:
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的excellent answer。提取:
所以在後臺線程中查詢DownloadManager。