0

私はまだ Android と Java の初心者です。AsyncTask を使用してサーバーからイメージを読み込もうとしています。画像のサイズは約50kbです。それでも、表示されるまでに数秒かかります。次のコードは、サーバーからイメージをダウンロードするために使用されます。

    public static Bitmap getBitmapFromURL(String src) {

    try {

        URL url = new URL(src);

        HttpURLConnection connection = (HttpURLConnection) url
                .openConnection();

        connection.setDoInput(true);

        connection.connect();

        InputStream input = connection.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(input);
        Bitmap myBitmap = BitmapFactory.decodeStream(bis);

        return myBitmap;

    } catch (IOException e) {

        e.printStackTrace();

        return null;

    }

誰かがこのプロセスをスピードアップする方法を教えてください。ネットワーク速度以外に、このプロセスが依存する要因は何ですか?

前もって感謝します。

4

2 に答える 2

0

まず、画像サイズ縮小アルゴリズムを検索することをお勧めします。次に、画像をロードするためのいくつかの方法を選択できます。たとえば、最初のステップでは、小さいサイズの画像を読み込むことができます。その後、バックグラウンドで通常サイズの画像をロードし、各縮小サイズの画像を通常サイズの画像に更新できます。

于 2012-11-17T16:40:56.577 に答える
0

これは、ビットマップを効率的にロードするための優れたリソースです。

Android デベロッパー サイト - 大きなビットマップを効率的に読み込む

コードサンプルも含まれています。

于 2012-11-17T16:44:47.800 に答える