0

質問 1: ImageView への参照を指定せずに画像ファイルをダウンロードすることはできますか?

質問 2: aQuery の個別のインスタンスで各ファイルをダウンロードできますか、それともファイルを順番にダウンロードする必要がありますか? たとえば、現在のファイル ダウンロードのコールバックを待ってから、次のファイル ダウンロード呼び出しをトリガーしますか? 以下は私のコードです

// Ad はカスタム モデル クラスです

// adList は、どこかにホストされている広告への URL を持つ広告のリストです

// imageView リソースへの参照を指定しないとダウンロードが開始されないため、imageView は非表示の imageView です

for (String adUrl : adList) {

    if (adUrl.length() > 0) {
        AQuery aQuery = new AQuery(DownloadAdActivity.this);
        BitmapAjaxCallback callback = new BitmapAjaxCallback(); 
        callBack.url(adUrl);
        callBack.fallback(R.id.placeHolderResource);
        callBack.fileCache(true);
        callBack.memCache(true);
        aQuery.id(imageView).image(callBack);

    }

}

アプリの初回起動時に 20/30 の画像をダウンロードする必要があります。これまでのところ、非表示の imageView 参照を指定し、各画像がダウンロードされた後に aQuery を順次トリガーすることで実行しています。ループで 20/30 リクエストを生成しようとしましたが、最後の aQuery トリガー呼び出しのみが機能し、前のイメージ ダウンロード呼び出しがキャンセルされます。

ガイドしてください:1-imageViewへの参照を与えずに画像をキャッシュする方法2-AQueryを介して順次ではなく、並行して画像をダウンロードする方法。

4

4 に答える 4

0

Picassoを使用できます 。これは、すべてのダウンロードと画像のキャッシュも行います。

とにかく、画像が非常に小さい場合は、「zip」ファイルを準備し、それらすべてを AsyncTask / Thread で dl して解凍する必要があります。サーバーへの接続の開閉は、時間がかかる「非常に高価な」操作です。

于 2014-10-22T05:08:13.750 に答える