优化部分代码，主要是lib下面