If you load your bitmap in a ImageView, set the gravity to FILL and resize your ImageView, you'll get the same memory usage as with TIV. There's no optimization in this library, but that doesn't mean that Warwound did a bad job. His lib works pretty well and can be easily recommended.
If you want to load bigger bitmaps into your app, or if you want to save memory and keep the possibility to zoom in/out at will, without a complex technique, there are not a lot of options: you can reduce the colors (using a JPG format, for example, instead of PNG or using the ReduceColors function of my Accelerated Surface lib) or you can sample the image down (but you lose sharpness). Professional apps use more advanced techniques. One of them, not very difficult to do, is to split your image into different parts while loading it, and saving them on disk. The image that you display first is a scaled down version. When the user zooms in, you start to rescale this image until you reach the maximum level of detail, then you replace your image by the corresponding part saved on disk, and you continue to zoom on that part. When it's well done, you should not notice the switch.
A lot of phones have only 32 MB of max heap memory (=the maximum memory that Java will allocate to your program). Older ones may have 24 MB and even 16 MB, but they become more and more uncommon. Recent phones and tablets have usually 48MB, 64MB or more. Depending on what your target, you can be short on memory.