我是Android開發新手,遇到性能問題。當我的GridView有太多的項目時,它變得有點慢。有什麼辦法讓它表現得更快一點?Android Slow GridView
下面是使用代碼IM:
適配器:
public class CharactersAdapter extends BaseAdapter {
private Context mContext;
private int screenSize;
private int columns;
// Constructor
public CharactersAdapter(Context c,int screenSize) {
this.screenSize=screenSize;
mContext = c;
}
public CharactersAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return charPics.length;
}
@Override
public Object getItem(int i) {
return charPics[i];
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View convertView, ViewGroup viewGroup) {
ImageView imageView;
this.columns=mContext.getResources().getInteger(R.integer.grid_columns);
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(screenSize /this.columns,screenSize /this.columns));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}else{
imageView = (ImageView) convertView;
}
imageView.setImageDrawable(mContext.getResources().getDrawable(charPics[i]));
return imageView;
}}
片段
public class CharacterFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
DisplayMetrics displaymetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int screenWidth = displaymetrics.widthPixels;
View rootView = inflater.inflate(R.layout.fragment_character, container, false);
GridView gridview = (GridView)rootView.findViewById(R.id.gridview);
gridview.setAdapter(new CharactersAdapter(getActivity(),screenWidth));
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent i = new Intent(getActivity().getApplicationContext(), CharacterActivity.class);
// Pass image index
i.putExtra("pos", position);
startActivity(i);
}
});
return rootView;
}
我是不是做錯了什麼....
如果你有大的圖像,那麼當你將圖像設置爲圖像視圖時,你會發現它很慢 – tyczj 2014-10-07 20:19:24
網格有51個圖像大約50Kb – Sorbete 2014-10-07 20:20:57
我不認爲像圖像大小那麼大我的意思是像圖像尺寸那麼大 – tyczj 2014-10-07 20:21:38