Thanks for pointing this out and I have tested your code, using enumerate() instead of enumerateAll() does have a better experience so I changed to use it, but due to the reason I have mentioned above, the TilesView still needed to be updated because it's a inindependent and top level page, I have to keep calling enumerateAll() on TilesView every time when we get a update in musicdb or on startup of music app. But the good news is in picker mode, music really doesn't have to enumerate/update TilesView because it never shows in song picker, so I just enumerate() for ListView when there is a pendingPick, as you can see in the updated code.