Screen resolution vs. image resolution I have a question about pixels and screen resolution of an Android device.

The app I developed was at the time when Samsung Galaxy S III was new. The images for my app had a resolution 2310x1300 (ratio 1.777 to fit screen). Samsung Galaxy S III has a resolution of 1280x720. I chose a higher resolution to have some margin for future devices with larger screens and higher DPI. 

But that's not enough these days - Galaxy S6 has a resolution of 2560x1440, that is far higher than the resolution of my images. So I thought that the quality of the images for such a device would be deteriorated since the resolution of the images is lower than the resolution of the display. But when testing the app for the Galaxy S6 I cannot see any differences right now - the images scaled for the new device (image resolution of 2310x1300 used in a device with 2560x1440) is at least as good as for an older device with lower resolution.

Have I completely misunderstood how dpi and resolution works? 

The images resources are under the /res/drawable/hdpi folder.
As mentioned in @w3dk 's answer, you can't see any difference because you can't see any difference. As in, your eyes literally can not differentiate between the detail of the picture on either the Galaxy S3 and the Galaxy S6, because in either case, the picture resolution comes close to the eye's limit of resolution (the minimum angular separation of 2 distinct points/objects from a particular distance of observation for which they can be discerned to be distinct from each other). What I will address here are some of your concerns as a developer.

The S3 was a xhdpi device, so any apps on it will use image resources in the /res/drawable/xhdpi/ folder. The S6 is a xxxhdpi device, and so any apps on it will use the resources in the /res/drawable/xxxhdpi/ folder by default, but fall back to the next lower resolution if the requisite folder is not available, utilizing fast image scaling to show the images at the required abstract resolution (dip (device independent pixels), not pixels) (dip are hardware-independent, pixels are hardware-dependent).

You are correct in assuming that image quality should have deteriorated under normal conditions, but your images are in fact pretty high-resolution, and combining that with some downscaling on-device for the S6, you actually get a similar quality image as on an S3.

Why do I say downscaling even for the high-resolution S6? Simple. You're probably not using the whole screen to display the image, and probably what dip resolution you specified maps out to less than 2310x1300 real hardware pixels, so the image is downscaled.

Contrary to what one may think, downscaling from a high resolution source actually increases image quality, and upscaling from a low resolution source decreases it on final display, given the same final display resolution and similar (except in resolution) source images. Here is my source about scaling as regards image quality.

As @DanHulme succinctly put it:


  "An image which has been downscaled from a high-resolution source will look better than one which has been upscaled from a low-resolution source."