【面试】说说内存泄露的情况有哪些
2015-11-23 13:36
477 查看
1.使用数据库没有关闭Cursor
注意点:必须调用Cursor.stop()方法关闭,为防止在代码逻辑上出现异常错误,推荐如下代码绘制:
Cursor c = queryCursor();
try {
int a = c.getInt(1);
......
} catch (Exception e) {
} finally {
c.close(); //在finally中调用close(), 保证其一定会被调用
}
2.调用registerReceiver()没有调用unRegisterReceive()
3.未关闭SharePreference(inputStream/outputStream)
4.Bitmap使用完成没有调用recycle()占用内存
5.使用static导致Context内存泄漏
具体讯息请参考原文
注意点:必须调用Cursor.stop()方法关闭,为防止在代码逻辑上出现异常错误,推荐如下代码绘制:
Cursor c = queryCursor();
try {
int a = c.getInt(1);
......
} catch (Exception e) {
} finally {
c.close(); //在finally中调用close(), 保证其一定会被调用
}
2.调用registerReceiver()没有调用unRegisterReceive()
3.未关闭SharePreference(inputStream/outputStream)
4.Bitmap使用完成没有调用recycle()占用内存
5.使用static导致Context内存泄漏
具体讯息请参考原文
相关文章推荐
- 黑马程序员——Foundation框架NSFileManager介绍和用法
- 程序员推荐书目及下载
- C#代码规范 .NET程序员需要提升的修养
- 微软面试100题
- 【面试】Android中的动画有哪些,区别是什么
- 我面试电商行业的经历-负载均衡
- 黑马程序员--多线程的学习
- 楚楚街—面试题 --有序数组查找
- 强烈推荐:程序员接私活那点事
- 程序员的10大职业谏言
- leetcode面试频率及总结
- 面试请假攻略,不用裸辞也能找到工作
- C#面试题1
- 【黑马程序员】第三章:面向对象(上)
- 数组深入:数组与内存控制
- 黑马程序员——protocol(协议)的概念及其使用
- 互联网及相关公司的求职经历分享
- SQL Server使用游标处理Tempdb究极竞争-DBA问题-程序员必知
- 程序员偷偷深爱的 9 个不良编程习惯
- 给php程序员的40条建议 优化你的php代码(一)【转载】