Is anyone aware of an easy way to load images into java or a good image loader library that is not horribly crappy? I'm getting tired of the inefficiency and horrible waste Java's built in image loader makes. (a 4mb image taking 1gb of ram?)

Right now I just load them into a BufferedImage (using ImageIO), reduce their size, and then draw them to the screen.