2016-11-17 10 views
0

私はアンドロイドで始まり、ウェブ上でいくつかのチュートリアルを続けています。私はアンドロイドのギャラリーイメージを作成しようとしている、それが動作しますが、私はdrawableフォルダに入れた画像が小さい場合のみ。もし私がそれより大きなサイズとより良い品質のイメージを入れたら、私のギャラリーは本当に遅くなります。私は何をしなければならないのですか?Androidの画像ギャラリーは非常に遅い

主な活動:

public class MainActivity extends AppCompatActivity { 

@Override 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    GridView gridview = (GridView) findViewById(R.id.gridview); 
    gridview.setAdapter(new ImageAdapter(this)); 

    gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
           int position, long id) { 
      Toast.makeText(MainActivity.this, "" + position, 
        Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 

ImageAdapter:私を助けるすべての人に

public class ImageAdapter extends BaseAdapter { 
private Context mContext; 

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { 
     // if it's not recycled, initialize some attributes 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(300, 300)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(4, 4, 4, 4); 
    } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 
    return imageView; 
} 



// references to our images 
private Integer[] mThumbIds = { 



     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7, 
     R.drawable.sample_0, R.drawable.sample_1, 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7, 
     R.drawable.sample_0, R.drawable.sample_1, 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7 
}; 

感謝。

+0

「私はアンドロイドギャラリー画像を作成しようとしています。それはどういう意味ですか?ギャラリーはありません。ギャラリーアプリのみがあります。 – greenapps

+0

私はいくつかの画像でグリッドを作成したいと私は私がdrawableフォルダに入れて高品質の画像を使用すると私のアプリは非常に遅くなることを意味します。 largeHeapは – Ennio

+0

はマニフェスト アンドロイドに追加しますか? –

答えて

0

これらの画像のサムネイルを読み込んでガードにロードするだけで、インターネットとチュートリアルのサムネイルを作成してキャッシュする必要があります。ユーザーがそのサムネイル、つまり特定のグリッド位置をクリックすると、それを表示してください。ピカソの図書館で試してみてください。

関連する問題