いくつかの画像を読み込む GridView があります。GetView (Adapter クラス) に log メソッドを配置しましたが、このメソッドが画像の数よりも多く実行されることに気付きました。GetView で画像を取得するためにスレッドが実行されます。GetView が画像ごとに 1 回だけ呼び出された場合、Grid の読み込みが速くなると思います。私は正しいですか?それを行う方法はありますか?
これは私のGetViewです:
public View getView(int position, View convertView, ViewGroup parent) {
RelativeLayout layout = (RelativeLayout) convertView;
ViewHolder view;
PMCategory category = categoriesArray.get(position);
RewardImageLazyLoadingThread rewardImageLazyLoader = new RewardImageLazyLoadingThread();
if (layout == null) {
layout = (RelativeLayout) inflater.inflate(
R.layout.reward_item_image, parent, false);
view = new ViewHolder();
view.reward_imageView = (ImageView) layout
.findViewById(R.id.reward_image);
layout.setTag(view);
} else {
view = (ViewHolder) layout.getTag();
}
if (position > CurrPosition) //To throw the thread only once for each image
{
positionAtual = position;
rewardImageLazyLoader.setProperties(category.id, view);
rewardImageLazyLoader.execute();
}
return layout;
}