Android内存泄漏总结
内存溢出(OOM)这是我们经常遇到的问题,引起OOM的原因是我们应用的问题,而不是系统问题,所以我们要在做项目之前就要细细的研究一下,哪些情况下可能引起OOM这样就不至于在项目搞得差不多了,再去找,这样就得不偿失了!
常见的容易引起内存泄漏的不良代码:
1、查询数据库没有关闭游标
// 操作完后关闭游标 Cursor cursor = null; try { cursor = getContentResolver().query(uri ...); if (cursor != null && cursor.moveToNext()) { ... ... } } finally { if (cursor != null) { try { cursor.close(); } catch (Exception e) { //ignore this } } }
2、进行流操作时没有关闭流
3、构造Adapter时,没有使用缓存的convertView
4、Bitmap对象不在使用时调用recycle()没有及时释放,尤其是进行大图操作
if(bitmap != null && !bitmap.isRecycled()){ bitmap.recycle(); bitmap = null; } System.gc(); }
5、没有及时释放对象的引用
相关推荐
猛禽的编程艺术 2020-04-11
hqulyc 2020-04-06
zjwijy 2012-02-01
peixiaopao 2012-02-01
leavesC 2019-06-30
Android进阶 2019-06-25
OliverLau 2019-06-20
冰川孤辰 2017-02-20
familynt 2016-06-06
Ifree团队 2015-05-14
jackeysion 2013-08-07
苦涩 2012-11-01
shinecjj 2012-07-25
SmileToLin 2012-07-17
iqingfen 2012-07-16
jhzhao 2012-06-18
西狂杨过 2012-06-01
Mango 2012-03-28