Downloading several very large images crashes the app. You might want to check filesizes and if a file is too large try to get a thumbnail instead. Then download the picture when the user selects it.
You can get a content-length from the http server.
I noticed that when all images are downloaded (after about 4 app crashes) all is good as everything is in cache. A solution may be too limit the amount of synchronous image downloads, somehow