For the application itself does not bring advantages, especially performance, but for the readability of your code depends, you may consider that it has yes or no advantage.
When it matters only that you will use the namespace It gets cleaner and doesn’t run the risk of something conflicting with something else that would be somewhere else. At the same time an IDE won’t show you some things you could use if it mattered everything and helped you use something you hadn’t thought about.
Obviously hiding just one guy helps less, but it might just be what you really want, you might know that only that would conflict.
And if you have to import many types, it can get even more confusing, then the biggest advantage is when you have to import only one type from that library.
It is possible that in some situations there is some minimal gain in compile time, but nothing that matters is very minimal, just for the record, it is not that large portions of code will no longer be compiled. The compilation time gain I talk about is because it is easier to manage the symbols when there are less of them, so it is minimal.
The Tree-Shaking helps the Dart application have advantages because there will be much less load and at least in some aspect there will be performance gain, but not because of the import
. The technique of Tree-Shaking has nothing to do with the import technique spoken of here, including the link initial of the other answer talks about it, just read carefully. The Tree-Shaking will cause something not to be compiled as long as it is not used by the code, but the fact that it does not import something does not mean that there is no use in the application.