美文网首页
Android内存优化(个人理解)

Android内存优化(个人理解)

作者: 残非 | 来源:发表于2019-10-23 08:28 被阅读0次

如何检测内存问题

使用MAT分析,它是一款免费的行能分析工具,打开之后,我们需要在Android studio中导出一段时间的hrof文件,点击之后as下载,ui会开始下载,分析该设备的CPU的内存情况,点击内存,进入内存分析页面,点击上面的下载按钮开始记录,将文件拖到mat应用中,选择内存泄漏分析,mat主要分析Java的,而Android的虚拟机导出来的内存文件格式与标准的Java hprof文件不同。可以通过SDK自带的命令行转换格式hprof—conv源文件 目标文件 选择。就可以分析内存的使用情况了

内存溢出和内存泄漏的区别及常见的问题

内存泄漏:就是你向系统申请了内存的使用(new),使用完了之后却不归还(delete)。结果你申请的那块内存自己不能访问,而系统也不会分配给需要的程序。

内存溢出:就是你要的内存空间超出了系统分给你的空间。就相当于系统没法满足你的要求,就会报内存溢出。

内存泄漏的堆积会导致内存溢出

内存溢出的原因:

1.内存中加载的数据过于庞大

2.集合中对象的引用,使用完未清空,jvm不能回收

3.代码中存在死循环或者循环产生大量对象

4.启动参数时设置过小

如何解决内存问题

1.修改JVM的启动参数,直接增加内存

2.检查错误日志,查看“OutOfMemory”错误,当前是否有其他异常或错误

3.对代码进行检查和分析,找出可能发生内存的问题

4.检查代码中是否有死循环或者是递归调用

5.检查对数据库查询,是否一次获得全部数据的查询

6.检查是否有大量循环重复产生新对象实体

7.检查List,Map等集合是否有使用完后,未清理的问题

相关文章

网友评论

      本文标题:Android内存优化(个人理解)

      本文链接:https://www.haomeiwen.com/subject/ruifvctx.html