如何定位和解决Android的内存溢出问题

 我来答
生活导师阿裕
2017-05-13 · TA获得超过139个赞
知道答主
回答量:77
采纳率:100%
帮助的人:29.2万
展开全部
一、定位内存泄漏:
可以用LeakCanary:检测所有的内存泄漏
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0509/2854.html
二、解决:
1.对各种流,文件资源渗卜衡这些比如:InputStream/OutputStream,SQLiteOpenHelper,SQLiteDatabase,Cursor,文件,I/O,Bitmap图片等操作等都应该记得显示关闭。

2.尽量避免丛做static成员变量引用资源耗费过多的实例,比如Context。因为Context的引用超过它本身的生命周期,会导致Context泄漏。所弊族以尽量使用Application这种Context类型。
3.使用线程池,不要newthread
4.UI视图检查,减少视图层级(hierarchyviewer)。
5.图片优化
6. 重用系统资源:系统定义id,系统图片,系统布局,系统style,系统字符串,系统颜色定义
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式