当前位置: 首页 > 编程笔记 >

Android获取App内存使用情况的方法

南门茂才
2023-03-14
本文向大家介绍Android获取App内存使用情况的方法,包括了Android获取App内存使用情况的方法的使用技巧和注意事项,需要的朋友参考一下

1.代码获取当前app内存的使用情况

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    //最大分配内存
    int memory = activityManager.getMemoryClass();
    System.out.println("memory: "+memory);
    //最大分配内存获取方法2
    float maxMemory = (float) (Runtime.getRuntime().maxMemory() * 1.0/ (1024 * 1024));
    //当前分配的总内存
    float totalMemory = (float) (Runtime.getRuntime().totalMemory() * 1.0/ (1024 * 1024));
    //剩余内存
    float freeMemory = (float) (Runtime.getRuntime().freeMemory() * 1.0/ (1024 * 1024));
    System.out.println("maxMemory: "+maxMemory);
    System.out.println("totalMemory: "+totalMemory);
    System.out.println("freeMemory: "+freeMemory);

结果

System.out: memory: 256
System.out: maxMemory: 256.0
System.out: totalMemory: 11.974937
System.out: freeMemory: 3.6257935

这说明我这个app在当前手机的最大分配内存是256m,现在已经分配了11m,这11m中有6m是空闲的

当然通过Monitors可以更直观的查看内存使用情况

2.使用dos命令

(1)打开dos窗口,执行adb shell

(2)dumpsys meminfo 包名

结果:


3.使用Monitors或者DDMS


monitors


DDMS

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍python在linux系统下获取系统内存使用情况的方法,包括了python在linux系统下获取系统内存使用情况的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python在linux系统下获取系统内存使用情况的方法。分享给大家供大家参考。具体如下: 将上面的代码保存为:memorymonitor.py 调用方法如下: 希望本文所述对大家的Python程序设计有所帮助

  • 问题内容: 我看到有几个节点程序包可以让您查找特定进程的用法,例如https://www.npmjs.com/package/usage 我正在尝试获取整体服务器使用情况/状态(CPU和内存),而不仅仅是一个特定的进程或另一个。甚至磁盘空间使用情况。 我目前找不到类似的东西,这可能吗? 问题答案: 本机模块os可以为您提供一些内存和cpu使用情况统计信息。 cpus()函数为您提供了平均值,但是您

  • 问题内容: 是否有一个准则来估计a消耗的内存量? 寻找类似于这些准则的估计内存使用情况的东西。 问题答案: 如果您查看源代码中的字段,则有: 的评论说 用于存储规范的字符串表示形式(如果已计算)。 假设您不调用,它将保留为零字节。因此是(8 + 4 + 4)= 16个字节+ 。 本身是4 + 4 + 4 + 4 + 4 = 20字节+ 。 20 + 16总共提供了36个字节加上大小,该大小始终是表

  • 问题内容: 有什么工具可以知道我的Java应用程序已使用了多少个本机内存?我的应用程序内存不足:当前设置是:-Xmx900m 计算机,Windows 2003 Server 32位,RAM 4GB。 还在Windows上将boot.ini更改为/ 3GB,会有什么不同吗?如果设置为Xmx900m,则可以为此进程分配多少最大本机内存?是1100m吗? 问题答案: (就我而言,我使用的是Java 8)

  • 问题内容: 我目前正在测试将密钥插入数据库Redis(在本地)中。我有超过500万个密钥,而且我只有4GB的RAM,所以一时我达到了RAM的容量并交换了数据(并且我的PC掉了)。 我的问题是:如何在具有Redis数据库的计算机上监视内存使用情况,并以此方式发出警报,不再在Redis数据库中插入某些密钥? 谢谢。 问题答案: 关于内存使用情况,建议您查看redis.io 常见问题解答以及有关将red

  • 问题内容: 我正在尝试跟踪处理URL的脚本的内存使用情况。基本思想是在将另一个URL添加到cURL多处理程序之前,检查是否存在合理的缓冲区。我正在使用“滚动cURL”概念,该概念在多处理程序运行时处理URL数据。这意味着我可以在每次处理和删除现有URL时通过从池中添加新URL来保持N个连接处于活动状态。 我已经使用了一些积极的结果。添加该标志很有帮助(虽然并不清楚“系统”内存和“ emalloc”