For a detailed introduction to adaptation, please visit https://blog.csdn.net/jlf521521/article/details/106689503