improve: load icons by async ways
modify to load icon in memory