Я программирую приложение, которое имеет вид сетки с некоторыми изображениями, и я использую вертикальную прокрутку по умолчанию, так как не все изображения могут быть помещены на экран.Все время я делаю прокрутку, и появляется новая строка для отображения, кажется, есть задержка при рендеринге новой строки.
Все изображения являются прорисовываемыми, поэтому это не вызывается чем-то вроде загрузкиизображение, по крайней мере, не явно.Итак, есть идеи, как решить проблему?Прокрутка в моей атриксах запаздывает, и последние устройства, на которых должно запускаться приложение, гораздо хуже его.
Редактировать - вот какой-то код:
public View getView(int position, View convertView, ViewGroup parent) {
T item = getItem(position);
Box box = convertView == null ? new Box(mContext) : (Box) convertView;
onBindModel(box, item);
return box;
}
и
@Override
public void onBindModel(Box box, Model item) {
box.param.putSerializable("model", item);
box.setDescricao(item.getNome());
box.getModelImageView().setImageResource(item.thumbResId);
}
Редактировать
Итак, как и предполагалось, только что попробовал этот код, но все же получить те же результаты:
@Override
public void onBindModel(final Box box, final Model item) {
box.param.putSerializable("model", item);
box.setDescricao(item.getNome());
new Thread(){
public void run() {
Message msg = new Message();
msg.obj =box.getModelImageView();
msg.arg1 =item.thumbResId;
mHandler.sendMessage(msg);
}
}.start();
}
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message message) {
Bitmap bm = BitmapFactory.decodeResource(getResources(), message.arg1);
setImage((ImageView) message.obj,bm);
}
};
public void setImage(ImageView imgView, Bitmap bm) {
imgView.setImageBitmap(bm);
}
При прокрутке на следующую строку у меня зависает, а потом просто продолжает нормально.
Заранее спасибо