自动识别 Android 不合理的内存分配


自动识别 Android 不合理的内存分配

文章插图
 
写在前面Android开发中我们常常会遇到不合理的内存分配导致的问题,或是频繁GC,或是OOM 。按照常规的套路我们需要打开Android Studio录制内存分配或者dump内存,然后人工分析,逐个排查问题所在 。这些方法是官方提供的能力,可以帮助我们排查问题,但难免有些繁琐,效率比较低 。
如果可以自动识别出不合理的JAVA(含Kotlin)对象分配,这样繁琐的工作将会变得简单 。
本文介绍了一种在Art虚拟机上实时记录对象分配的实现方案,基于此方案就可以实现不合理对象分配的自动化的识别 。
常规方案对比分析
自动识别 Android 不合理的内存分配

文章插图
 
Dump内存和字节码插桩的方案都无法覆盖运行过程中内存分配的过程,无法满足自动识别的诉求 。而录制的方案目前主要的问题是,不能自动化,如果能实现录制内存分配的自动化,就可以完成我们想要做的事情 。
让录制对象分配自动化1 . 模仿
Android Studio是 


    推荐阅读