android ion 内存泄漏排查

1.查看各个进程的ION

:/sys/kernel/debug/ion/heaps # cat system-heap
cat system-heap
          client              pid             size
----------------------------------------------------
  surfaceflinger              211          6565888
  surfaceflinger              211         50413568
           fb                1         32538624
----------------------------------------------------
orphaned allocations (info is from last known client):
  surfaceflinger              211          7864320 0 1
----------------------------------------------------
  total orphaned          7864320
          total          90009600
   deferred free                0
----------------------------------------------------
0 order 8 highmem pages in pool = 0 total
27 order 8 lowmem pages in pool = 28311552 total
0 order 4 highmem pages in pool = 0 total
8 order 4 lowmem pages in pool = 524288 total
0 order 0 highmem pages in pool = 0 total
4 order 0 lowmem pages in pool = 16384 total

2.每个进程对这个buffer的引用情况:

   cat /proc/进程号/fd

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android ION(IPC over NETwork)是一种使用Android的Binder IPC通信机制进行进程间通信的开源库。在进行内存分析时,我们可以通过以下几个步骤来分析Android ION的内存使用情况。 首先,我们可以使用内存分析工具,如Android Studio提供的Memory Profiler,通过单击“Start Recording”按钮开始记录内存使用情况。然后,我们可以执行包含Android ION代码的操作,例如分配和释放ION内存缓冲区。 接下来,我们可以使用Memory Profiler工具来分析我们的应用程序在执行这些操作时所使用的内存。工具会提供一个内存使用情况的图表,我们可以根据这个图表来判断再分配和释放ION内存缓冲区时是否存在内存泄漏或者过度内存使用的情况。 此外,我们还可以使用Android的Debug.MemoryInfo API来获取有关Android ION内存使用情况的更详细信息。通过使用MemoryInfo对象的getMemoryStats()方法,我们可以获取关于Android ION的内存使用情况的一些统计数据,例如分配的内存缓冲区的数量、总大小等。 最后,在进行完内存分析后,我们可以根据分析结果来优化我们的应用程序。例如,我们可以检查我们的代码是否正确地释放了ION内存缓冲区,并确保我们只分配了我们实际需要的内存大小。我们还可以考虑使用更有效的算法来减少对ION内存缓冲区的需求,从而降低内存使用量。 总结来说,通过使用内存分析工具和Android的Debug.MemoryInfo API,我们可以对Android ION的内存使用情况进行分析和优化,以确保我们的应用程序能够有效地使用ION内存缓冲区,并避免内存泄漏和过度内存使用的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值