現在、アプリから内部ストレージに画像を保存して後で表示できるアプリがあります。私はアプリ内のすべての画像のギャラリーを持っています。しかし、私がgridview
に7つ以上の画像を読み込むと、アプリが遅れを開始し、その動作を読み込むのに時間がかかるでしょう。内部ストレージから画像をグリッドビューに読み込む方法を最適化する方法
私はこれをどのように最適化できるのだろうかと思っていました。セットアップ
final ArrayList<ImageItem> imageItems = new ArrayList<>();
//TypedArray imgs = getResources().obtainTypedArray(R.array.image_ids);
for (int i = 1; i < getApplicationContext().fileList().length; i++) {
String[] names = getApplicationContext().fileList();
Log.d("HIER:", names[i]);
Bitmap b = null;
try{
InputStream is = getApplicationContext().openFileInput(names[i]);
b = BitmapFactory.decodeStream(is);
} catch(Exception e){
e.printStackTrace();
}
//arrayList.add(new ImageItem(Bitmap.createScaledBitmap(b, 100, 100, false), names[i]));
arrayList.add(new ImageItem(b, names[i]));
gridview
:
ロードArrayList
に画像
gridView = (GridView) findViewById(R.id.gridView);
gridAdapter = new GridViewAdapter(this, R.layout.favorite_item, arrayList);
gridView.setAdapter(gridAdapter);
imageLoaderライブラリまたはPicassoライブラリを使用して画像を読み込む必要があります。ちょうどGoogleこれらの名前と多くの答えを見つけるだろう –