目标
监控app使用的内存以及系统可用内存等内存相关信息.
方案- 周期性监控,如10秒或1分钟等.
- 获取内存占用信息.
- 获取系统内存信息
ActivityManager.MemoryInfo()
availMem:系统可用内存大小。 totalMem:系统总共内存大小 threshold:系统开始kill后台服务和进程的内存阈值大小 lowMemory:系统处于低内存时该值为true
- 获取App占用内存信息
Runtime.getRunTime()
maxMemory:App最大可用内存 freeMemory:App可用内存大小 total_memory:App当前占用内存
- 获取App Native部分占用内存信息
Debug.getNativeHeapSize()
Debug.getNativeHeapAllocatedSize()
Debug.getNativeHeapFreeSize()
Debug.getNativeHeapSize(): native heap大小 Debug.getNativeHeapAllocatedSize() : 获取native已分配的内存大小 Debug.getNativeHeapFreeSize(): 获取native可用内存大小
源代码https://gitee.com/cxyzy1/MyAPM
参考资料https://juejin.im/post/5a420e6d518825519408e0ca
关注头条号,第一时间获取最新文章: