1

そのため、Web から大量のサムネイル (おそらく最大 100 以上) を読み込もうとしていますが、エミュレータでは約 30、電話自体では約 80 ~ 85 のメモリが不足しているようです。

これはうまくいきませんが、方法がなければなりません-

画像をキャッシュメモリに保存してそこからロードしようとしましたが、それでもメモリが不足します。

大量の Web サムネイル画像を読み込む正しい方法は何ですか?

各画像は約 50 kb です。基本的には、作成した CreateImage メソッドを使用して imageViews を動的に追加します。これにより、URL と画像名に基づいて各サムネイルが読み込まれ、Horizo​​ntalScollView の動的な imageView に設定されます。

    private void createImages(String URL, String imageName){
    ImageView ImageThumbnails = new ImageView(this);
    ImageThumbnails.setId(ImageThumbName);
    ImageThumbnails.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); 
    ImageThumbnails.getLayoutParams().height = 85;
    ImageThumbnails.getLayoutParams().width = 85;
    ImageThumbnails.setPadding(4, 4, 4, 4);
    ImageThumbnails.setScaleType(ImageView.ScaleType.FIT_XY);
    ImageThumbnails.setOnClickListener(this);


    String path = Environment.getExternalStorageDirectory()+ "/" + imageName;
    File imgFile = new File(path);
    if(imgFile.exists())
    {
      Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
      Bitmap bmpCompressed = Bitmap.createScaledBitmap(myBitmap, 85, 85, true);
      ImageThumbnails.setImageBitmap(bmpCompressed);

    }

    ll.addView(ImageThumbnails);
}

前もって感謝します、

4

3 に答える 3