Вы можете отслеживать скорость сети, используя ConnectivityManager
ConnectivityManager manager=(ConnectivityManager)this.getSystemService(CONNECTIVITY_SERVICE);
NetworkCapabilities nc = manager.getNetworkCapabilities(manager.getActiveNetwork());
int downloadSpeed = nc.getLinkDownstreamBandwidthKbps();
int uploadSpeed = nc.getLinkUpstreamBandwidthKbps();
, и в зависимости от скорости вы можете категории, изображения которых вы хотите выбрать. Следующее описание поможет вам решить, является ли скорость сети высокой, средней или низкой
POOR // Network Speed less than 150 kbps.
MODERATE // Network Speed between 150 and 550 kbps.
GOOD // Network Speed upto 2000 kbps.
EXCELLENT // Network Speed over 2000 kbps.
UNKNOWN // connection quality cannot be found.