First, I advise you to use RecycleView - this is a more flexible tool than ListView .
Regarding images, whether ListView or RecycleView , you need in the adapter when creating a component, I upload Picasso image to the ImageView using the library, it performs this task very quickly, and at the same time has automatic caching.
static class ViewHolder { public ImageView imageView; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; //...... holder = new ViewHolder(); holder.imageView = (ImageView) convertView.findViewById(R.id.icon); //...... Picasso.with("Your context").load("Your URL").into(holder.imageView); }