- each tag becomes an element node in the DOM;
- element nodes can have child nodes (type, text, comments);
- and then add attribute nodes on top of it;
- having lots of element nodes shouldn’t be a problem in theory but, in practice, the device may be short on RAM, RS perf may be bad, etc.;
- when you’re starting to manipulate those nodes—which some RS actually do, either for pagination/rendering or specific features—, having lots of them can become an issue;
- besides, it depends on styles (CSS), how your script is designed, webview, RS perf, etc.
So, if you don’t need a span, don’t span.
It may be a little bit overkill but proactiveness helps prevent problematic issues.
And that’s why, for instance, some web app devs are preventively killing nodes when “hidden enough” (depending on scroll), so that they can save on RAM, achieve better perf, etc.