Don't you need an else clause here? It looks to me like you're enumerating the data base twice at the same time.

If I insert the else so there is only one call to enumerateAll, then the spinner keeps spinning while the enumeration is happening instead of disappearing.  That seems good...

But then I die with an OOM.  I wonder if there are too many images?