2017-11-10 14 views
-2

forループでエンキューして、DownloadManagerから多数のファイル(50+)をダウンロードしています。ダウンロードが開始されると、UIがしばらくフリーズし、ANRが生成されます。私は、サーバーからファイルにアクセスしてDownloadManagerでエンキューするために、volleyライブラリを使用しています。DownloadManagerがANRを生成します

+2

具体的な質問としてこれを書き換えてください。このページでは、ヘルプセクションのガイダンスをご覧ください:https://stackoverflow.com/help/mcve – MeanGreen

答えて

0

あなたは、あなたがthis link AndroidアプリのUIスレッドが長すぎるためにブロックされている

、 は、「アプリケーションが応答しない」(ANR)を訪れることができANRエラーを回避するための明確さを取得したい場合エラーが発生します。アプリはダウンロードしたファイルのように基づいて、バックグラウンドスレッドで長い操作を行う必要がある

操作が行われたら、あなたはサービスで、必要に応じて、あなたはBroadcastReceiverの助けにして、それを扱うことができるService

に処理しなければなりませんバックグラウンド操作に基づいてUIを変更します。

注: あなたはアンドロイドのコンポーネント(活動、BroadcastReceiver、およびサービス)に良好な透明性を持っているなら、あなたはあなたのケースでは問題のこの種に直面していないでしょう。

関連する問題