Notes 10-03-16

我喜欢这样忙的死去活来的日子,因为第一次那么真切感受到实在无暇顾及自己的精神状态。一切随意,一切随性,一切都是浮云。
疯狂的学习CPA,疯狂的学习代码,这就是学习。
如果可以选择,一周下来我只想去周二上午曹老师的《物流与供应链管理》,其他的let it go ~
英语该抓紧,文献也该抓紧,小论文也该抓紧。其实人很多时候并不是在追赶他人的脚步,更多的是在和时间赛跑。我害怕落后的滋味,所以我奋力前行。
黑眼圈还是照旧,偶尔还是会失眠,不过很充实。我爱生活。
—————————————————————————————
使用 PHPExcel 来生成 excel 文档是比较消耗内存的,有时候可能会需要通过一个循环来把大数据切分成若干个小的excel 文档保存来避免内存耗尽。
然而 PHPExcel 存在 circular references 的情况,如果在一次http请求过程中反复多次构建 PHPExcel 及PHPExcel_Writer_Excel5 对象实例来完成多个excel 文档生成操作的话,所有被构建的对象实例都无法在http请求结束之前及时释放,从而造成内存泄漏。
解决办法是在PHPExcel-Worksheet类中增加方法:

并在 PHPExcel 类中增加方法:

然后在需要资源回收的地方显式的调用 PHPExcel::Destroy() 来处理循环引用的问题。注意 __destruct() 方法是在对象被认为可以被释放的时候才会被调用,所以循环引用的处理不能放到 __destruct() 来进行。
好了,回寝室睡觉,晚安。
在
在