从drawable加载图像时提高性能

时间:2013-09-25 09:46:34

标签: android bitmap

我正在尝试在将6个大图像加载到GridView中显示的ImageView时提高应用程序的性能。

我知道我现在使用的技术是令人满意的。

我查看了Android的Loading Large Bitmaps Efficiently,但无法理解他们在我的代码中使用的技术。

任何帮助都将不胜感激。

这是我的类,用于将图像加载到ImageView中:

import android.content.Context;
import android.graphics.BitmapFactory;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class AdapterViewADV1 extends BaseAdapter {
private Context mContext;



// Keep all Images in array
public Integer[] mThumbIds = {
        R.drawable.image_1,
        R.drawable.image_2,
        R.drawable.image_3,
        R.drawable.image_4,
        R.drawable.image_5,
        R.drawable.image_6

};



// Constructor
public AdapterViewADV1(Context c){
    mContext = c;
}

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

@Override
public Object getItem(int position) {
    return mThumbIds[position];
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = null;
    if(convertView == null){
       imageView  = new ImageView(mContext);imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
       imageView.setLayoutParams(new GridView.LayoutParams(NO_SELECTION, NO_SELECTION));
       convertView = imageView;
    }else{
        imageView = (ImageView)convertView;
    }
    imageView.setImageResource(mThumbIds[position]);

    return convertView;
}
}

2 个答案:

答案 0 :(得分:1)

使用 IMAGE LOADER它重量轻

答案 1 :(得分:1)

您可以在不降低透明度的情况下压缩.png图像 Click Here to compress