千家信息网

APP专项---内存泄漏

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,如何查看APP占用的内存系统设置中--存储--应用--正在运行的--某个APPadb shell dumpsys meminfo 包名,但无法实时查看DDMS, 可实时查看备注:每个APP占内存包括私
千家信息网最后更新 2024年11月14日APP专项---内存泄漏

如何查看APP占用的内存

  • 系统设置中--存储--应用--正在运行的--某个APP

  • adb shell dumpsys meminfo 包名,但无法实时查看

  • DDMS, 可实时查看


备注:

每个APP占内存包括私有(PrivateDirty)、公共(ShareDirty)两部分

手机系统设置里显示的正在运行的APP,显示的是Total Pss(PSS:实际使用的物理内存)



步骤:

adb shell dumpsys meminfo com.yibasan.lizhifm

android程序内存被分为2部分:native和dalvik

dalvik就是我们平常说的java堆,

我们创建的对象是在这里面分配的

查看pss total和heap size(27716KB)

不能超过最大限制(使用下面的命令查看)

adb shell

getprop | grep heapgrowthlimit

查看单个应用程序最大内存限制(meminfo里面的dalvik heap size的最大值27716KB,

如果超出了192M那就很可能会发生OOM)



总结:

每次gc后,pss total没有明显回落,就有可能存在内存泄漏,但仍需长时间观察。

dalvik heap size超过heapgrowthlimit会发生OOM,

但如果Manifest中的application标签中声明android:largeHeap=True,

则dalvik heap达到heapgrowthlimit限制的时候不会出现OOM,

需要达到heap size的时候才会出现OOM

adb shell

getprop | grep dalvik.vm.heapsize 单个java虚拟机最大的内存限制


再次总结:

dalvik.vm.heapstartsize----------初始分配的内存大小

dalvik.vm.heapgrowthlimit------应用的最大内存限制

dalvik.vm.heapsize--------------java虚拟机最大内存限制


内存 最大 限制 应用 单个 实时 时候 正在 程序 系统 部分 分配 运行 平常 明显 再次 命令 备注 大小 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发北森在线测试 畅谈网络安全威胁 手机软件开发启动资金 一个最常见的网络安全模型 腾讯软件开发人数 富国互联网科技基金上头条 添加ftp服务器 长沙讯禾网络技术有限公司 软件开发和人工智能 浙江增强现实技术软件开发 佛山聊天软件开发咨询 深圳猪强强互联网科技 安徽瑞铭互联网科技有限公司 服务器防护措施 公安网络安全培训视频 网络安全是具有挑战性的 大连软件开发在哪几个区 部队做网络安全捍卫者体会 四川数据软件开发服务标准 一站式人工智能应用软件开发售价 数据库设计模版 西藏诚信积分管理软件开发软件 沈阳辽邦网络技术科技有限公司 新乡市跑跑网络技术有限公司 三星云服务器备份 中学网络安全工作机制 软件开发包含了哪几个过程 数据库mysql怎么设置外键 下列不属于保护网络安全的 战地5怎么进入私人服务器
0