内存泄露和内存溢出
来源:互联网 发布:java多线程调用单例 编辑:程序博客网 时间:2024/06/05 09:11
内存泄露:
memory leak
是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
1.将线程的内部类改为静态内部类.(非静态内部类会持有对外部类的引用,而静态内部类则不会).
包括及时释放资源,static,cursor,IO
2采用弱引用保存context引用(weakreference)
(关于内存泄露的检测)这里
内存溢出:
out of memory是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。
1,图片过大导致 OOM :
对图片采用软引用,及时地进行 recyle()操作
SoftReference<Bitmap> bitmap = new SoftReference<Bitmap>(pBitmap);if(bitmap != null){if(bitmap.get() != null && !bitmap.get().isRecycled()){bitmap.get().recycle();bitmap = null;}}
2,横竖屏反复切换:
(1)除去xml文件中大的图片背景,设置改由Activity中加载.
(2)直 接 把 xml 配 置 文 件 加 载 成 view 再 放 到 一 个 容 器 里 , 然 后 直 接 调 用this.setContentView(View view);方法,避免 xml 的重复加载。
3、 在页面切换时尽可能少地重复使用一些代码
比如:重复调用数据库,反复使用某些对象等等......
常见的内存使用不当的情况
4,在构建adapter时没有使用convertView.
5,Bitmap使用时没有及时使用recycle释放内存.(不是必须,看内存情况)
0 0
- 内存溢出和泄露
- 内存泄露和内存溢出
- 内存溢出和内存泄露
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存溢出和内存泄露
- 内存溢出和内存泄露
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存泄露和内存溢出
- 内存溢出和内存泄露
- 内存泄露和内存溢出
- 僵尸进程的产生、危害及避免方法
- UICollectionView入门--使用系统UICollectionViewFlowLayout布局
- JAVA的Random类
- Enterprise Architect生成pdf并且拼接为一张图
- IOS ATS适配SSL证书方案
- 内存泄露和内存溢出
- VC的小工具查询exe的依赖
- javascript代码运行分两个阶段:预解析,执行
- 获取版本号 版本名称
- 使用Shell脚本查找程序对应的进程ID,并杀死进程
- Java学习路线
- Qt连接SqlSever2014数据库教程(非dsn法)手把手
- springmvc+mybatis框架下,写通用的操作,删除等的操作
- Codeforces Round #381 (Div. 2) Alyona and mex