Not a recommendation for an Android App but a way of getting more or less what you are looking for is to do a little work on your DLNA servers content.
- Don't store your photos directly in the shared area of the server, (if it is a Windows server this will be the "My Pictures" library, other servers will use different locations.
- In the shared area store processed versions of your pictures that are:
- reduced in resolution to the maximum resolution of the device(s) that you wish to access them on or even a lower resolution that you are happy with - this will reduce the bandwidth needed to download them.
- Converted to a supported compressed format such as jpeg, possibly with a little loss of quality
- Converted to a progressive version of the image, (these format will show a rough version of the image very quickly and then gain detail as the download progresses).
On most platforms you can use ImageMagick to do all of the above options with a command such as:
convert original_file_path -resize widthxheight^ -interlace Line -quality 80 new_file_path
- original_file_path is the original non-shared file path complete with the extension.
- width & height are your respective maximums separated by the letter
^ preserves the aspect ratio).
- The number after -quality is one that you are happy with after some trial and error
- new_file_path is the new file name including the path to the shared library and the .jpg extension.
If you also have movies to serve you can use FFMPEG to down sample to a suitable resolution & maximise compression.
Both ImageMagick & FFMPEG are:
- Free, gratis & open source
- Available for most platforms that can act as a server
Note that some DLNA servers, such as plex (subscription required) & emby, have the capability to down-sample, make progressive or stream content dynamically in near real-time.