This is much more efficient than to download them every time you play them, which is the standard behaviour.

They don’t download every time you play them. They are cached. You can also download them in the app so they stay local and never redownload. You just can’t get them out of the app.

So it takes the same space, without being equally useful?

These streaming services are even worse than I thought they'd be.

No way I'm ever giving up my local lossless audio collection.

to play devil's advocate, what happens when your lossless audio files (which take up a fair amount of space) no longer all fit on your mobile device? Do you have software to rotate them out? What about when you want to listen to a song that isn't local anymore? Sounds like you need to invent streaming with caching

I have jellyfin[0] installed on my home server, then use finamp[1] on my iphone to listen on the go via streaming and usually download just the playlists to the device, which eventually get rotated.

[0] - https://github.com/jellyfin/jellyfin

[1] - https://github.com/UnicornsOnLSD/finamp