单例中的堆内存是否需要释放? 何时释放?
2017-04-02 17:37
267 查看
对于大多数程序员来说, 单例模式几乎就是第一个熟悉的设计模式。 我们看到单例模式中经常有new, 但没有看见delete, 这样不会内存泄露吗? 于是, 我想问, 单例中的堆内存是否需要释放? 何时释放?
先来看看我之前写过的一篇单例释放的问题:http://www.szmykybj.com/stpeace/article/details/46564309 《绝对不要在析构函数中释放单例-----这个至少3000元的bug让人蛋疼两三天》
我想说, 单例伴随着进程的生命周期, 常驻内存, 不需要程序员来释放(实际上, 人为释放是有风险的)。 如果进程终结, 对应的堆内存自动被回收, 不会泄露。
先来看看我之前写过的一篇单例释放的问题:http://www.szmykybj.com/stpeace/article/details/46564309 《绝对不要在析构函数中释放单例-----这个至少3000元的bug让人蛋疼两三天》
我想说, 单例伴随着进程的生命周期, 常驻内存, 不需要程序员来释放(实际上, 人为释放是有风险的)。 如果进程终结, 对应的堆内存自动被回收, 不会泄露。
相关文章推荐
- c#中new一个对象以后,是否需要手动释放?
- c#中new一个对象以后,是否需要手动释放?
- 在非ARC项目中引用ARC对象,是否需要手动释放
- DotNet下使用GDI+绘图时资源是否需要释放
- 设置win8.1唤醒电脑时是否需要输入密码的操作步骤
- Oracle判断数据是否存在(使用游标判断需要注意的问题)
- t-sql判断一个字符串是否为bigint的函数(全角数字需要判断为不合格)
- Cocoa中回调delegate的方法时判断delegate是否已经被释放
- 截取字符 并智能判断长度是否需要截取
- 获取当前手机App版本以及AppStore中的最新版本,判断是否需要更新
- Android 如何判断wifi热点是否需要密码
- 如果使用Qt来开发商业软件,是否需要付费?
- 关于Oracle外键列上是否需要索引问题
- sql server2008 检查是否需要挂起计算机重新启动。挂起重新启动会导致安装程序失败。
- "ObjectContext 实例已释放,不可再用于需要连接的操作"MVC开发出错解决方案
- 模拟登录QQ判断是否需要验证码
- Refactoring(重构),你是否需要?
- 多线程访问同一变量是否需要加锁
- 是否需要主动调用Bitmap的recycle方法?
- 2017.5.27 使用propagation实现:根据参数决定是否需要事务管理