最近做一个作业关于日志统计的作业,通过本次作业对内存回收的问题有了进一步认识。
问题:最开始进行通过open进行数据加载分析并生成了字典,程序执行的速度比较快,但是通过字典进行数据分析时需要生成新的list或者dist发现速度一下变慢了,从而导致程序卡死?
问题分析:程序代码都写在了主函数中,从而导致变量过多,新的变量又重新分配了内存地址,由于都在主函数中导致变量占用没有办法释放空间
解决方案:尽量使用子函数,这样变量就能均匀分布在子函数,当子函数被调用市才会分配地址,调用结束没有闭包现象理论变量地址都是可以回收再利用的。