Как минимум не понятно почему viewHolder.getBmg().setText(listViewItem.getBrand()); при convertView==null. В ветке if (convertView==null) только должен заполняться ViewHolder а код viewHolder.getBmg().setText(...) должен выполняться в любом случае, тк если convertView!=null в View останутся старые данные.
Про картинки, что вы используете? Bitmap'ы на самом деле много весят в памяти и их декодирование занимает время. Попробуйте
https://github.com/nostra13/Android-Universal-Imag... вместо изобретения велосипедов