Would it be possible to load the upcoming tile image however have the visibility set to false? Tile.setVisible(false);
Then when you want to change (after the upcoming tile has loaded), set the upcoming tile to be visible and the current tile to be invisible?
CurrentTile.setVisible(false);
NewTile.setVisible(true);
This way the change all occurs within the same render frame, and there is no delay waiting for cached images to load.