闲聊
在我看来,创建对象是慢慢耗尽内存的元凶。而回收内存就成了必不可少的环节之一。大量字符串占用内存在所难免,而能把控的就是你创建的重复对象。如果你有强迫症,那么删除一个对象是你对对象画上句号的时刻。然而删除对象并没有创建对象那么容易把内存吐出来,它需要可能很长时间。如果你在删除对象后,对象内部还在运转着各种更新,接收事件,或者指针链接着还活着的对象,活着几个被移除的对象之间互相纠缠,那么回收系统也很难把它回收掉。
解决上述问题有两种方案
完全销毁对象
- 将内部所有的对象,以及对象的对象的引用都置为空
- 将所有关联的事件,绑定的通知都移除掉
重复利用对象
当反复用到同类型对象,就要考虑重复利用,在移除后告诉系统并不回收它。