`
1025250620
  • 浏览: 230471 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android查看内存和CPU~

 
阅读更多

.一、利用Android API函数查看
1.1 ActivityManager查看可用内存。
ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo(); 
am.getMemoryInfo(outInfo); 
outInfo.availMem即为可用空闲内存。
1.2、android.os.Debug查询PSS,VSS,USS等单个进程使用内存信息
MemoryInfo[] memoryInfoArray = am.getProcessMemoryInfo(pids); 
MemoryInfo pidMemoryInfo=memoryInfoArray[0];
pidMemoryInfo.getTotalPrivateDirty();

getTotalPrivateDirty()
Return total private dirty memory usage in kB. USS

getTotalPss()
Return total PSS memory usage in kB.
PSS
getTotalSharedDirty()
Return total shared dirty memory usage in kB. RSS


二、直接对Android文件进行解析查询,
/proc/cpuinfo系统CPU的类型等多种信息。
/proc/meminfo 系统内存使用信息

/proc/meminfo
MemTotal: 16344972 kB
MemFree: 13634064 kB
Buffers: 3656 kB
Cached: 1195708 kB
我们查看机器内存时,会发现MemFree的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
所以 空闲内存=free+buffers+cached=total-used
通过读取文件/proc/meminfo的信息获取Memory的总量。
ActivityManager. getMemoryInfo(ActivityManager.MemoryInfo)获取当前的可用Memory量。

 

三、通过Android系统提供的Runtime类,执行adb 命令(top,procrank,ps...等命令)查询
通过对执行结果的标准控制台输出进行解析。这样大大的扩展了Android查询功能.例如:
final Process m_process = Runtime.getRuntime().exec("/system/bin/top -n 1");
final StringBuilder sbread = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(m_process.getInputStream()), 8192);

# procrank
Runtime.getRuntime().exec("/system/xbin/procrank");
内存耗用:VSS/RSS/PSS/USS
Terms
• VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
• RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
• PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
• USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
USS is the total private memory for a process, i.e. that memory that is completely unique to that process.USS is an extremely useful number because it indicates the true incremental cost of running a particular process. When a process is killed, the USS is the total memory that is actually returned to the system. USS is the best number to watch when initially suspicious of memory leaks in a process.

分享到:
评论

相关推荐

    Android获取cpu,内存,磁盘使用率信息

    在Android平台上,获取CPU、内存和磁盘使用率信息对于开发者来说是十分重要的,这有助于监控设备性能,优化应用运行,以及提供用户友好的反馈。然而,由于Android系统的安全机制,不同的权限级别决定了你能获取到何...

    Unity调用Android查看内存信息2

    总结来说,Unity调用Android查看内存信息是一项实用的技术,它能够帮助开发者深入洞察游戏在Android设备上的运行状况,优化性能,确保游戏的稳定性和流畅性。通过创建Java插件并与Unity交互,可以获取FPS、系统内存...

    android 获取cpu使用率, 内存 实时数据

    在Android平台上,获取CPU使用率和内存实时数据是开发者进行性能监控、优化应用或实现系统监控功能的关键步骤。本文将详细介绍如何在Android中获取这些关键信息,并提供相关的代码示例。 首先,我们要理解CPU使用率...

    Android代码-查看手机应用的CPU和内存资源的使用情况

    Due to undocumented changes made by Google, on Android 7.0 CPU usage information for processes others than the own AnotherMonitor one will not be available (not even with root access). Rest of the app...

    Android编程实现获取系统内存、CPU使用率及状态栏高度的方法示例

    本文实例讲述了Android编程实现获取系统内存、CPU使用率及状态栏高度的方法。分享给大家供大家参考,具体如下: DeviceInfoManage类用于获取系统的内存,CPU的信息,以及状态栏的高度 import java.io.BufferedReader...

    获取硬件内存和CPU

    在Android系统中,获取硬件内存和CPU信息是开发者或普通用户了解设备性能的重要途径。本文将详细介绍如何在Android平台上查询手机的硬件内存大小以及CPU的核心数等关键信息。 首先,我们要明白内存(Memory)通常指...

    Android端内存、cpu、电量测试

    Android端内存、cpu、电量测试

    window和linux和android进程内存CPU等监控软件

    标题中的“window和linux和android进程内存CPU等监控软件”是指一种跨平台的系统监控工具,它可以用于Windows、Linux和Android操作系统,目的是实时监测和分析系统中的进程对内存、CPU以及GPU资源的占用情况。...

    android应用内存监控工具

    一、Android内存构成 Android系统的内存主要分为以下几个部分: 1. Dalvik/ART堆:这是Android应用运行时内存,存储着Java对象。 2. Native堆:C/C++代码使用的内存区域。 3. 图像缓存:用于存储图片资源,如Bitmap...

    获取android手机的内存,cpu使用率,mac地址等一系列信息

    在Android平台上,获取设备的各种信息,如内存使用情况、CPU使用率以及MAC地址等,是进行系统监控和应用优化的重要步骤。以下将详细介绍如何获取这些关键信息。 首先,获取IP地址通常涉及到网络接口的交互。在...

    获取android手机CPU\内存\屏幕密度等硬件信息

    在Android开发中,获取设备的硬件信息是常见的需求,这些信息包括CPU信息、内存状态以及屏幕密度等。本文将详细讲解如何通过编程方式获取这些关键数据。 首先,我们来看`AppInfoManager.java`,这个类通常用于管理...

    测试android内存CPU

    Android检查内存使用以及cpu使用和测试cpu温度(本人亲测)友友们我会更新更多的源码和大家分享,希望大家喜欢

    Python获取android设备cpu和内存占用情况

    在本文中,我们将深入探讨如何使用Python通过ADB(Android Debug Bridge)来获取Android设备上特定应用的CPU和内存占用情况。这个过程对于Android应用的性能分析、优化以及故障排查至关重要。 首先,要实现这个功能,...

    Android CPU 压力测试

    经测试在MTK平台1G内存4核CPU占用比在50%左右,偶尔可能会达到70%以上。 超过3D游戏及其它任何应用。 当应用占用CPU比超过一定系统的值后,会产生大量ANR(应用 无响应)请选择等待。 如: User 63%, System 31%, ...

    android-cpu-net-ram.rar_android_android 界面_android Ram_cpu_cpu

    综上所述,这个资源包可能包含了一个Android库或示例项目,用于实时监测和显示设备的内存、CPU使用率和网络状态。通过解析并使用提供的数据,开发者可以更好地理解和优化他们的应用程序,提升用户体验。同时,结合...

    android安卓app开发之如何查看cpu使用率和内存泄漏等app性能分析.app的cpu占用率_app软件分类

    android安卓app开发之如何查看cpu使用率和内存泄漏.zip

    Android CPU-Z 1.37

    Android版CPU-Z与电脑上的PC版本不同,它不仅提供了CPU芯片的信息,还提供了丰富的图形、系统、电池、传感器等信息,可以显示出处理器的型号、主频、内核架构、工艺制程,CPU的负荷情况、屏幕分辨率、RAM内存以及...

    MTK Android常用的命令记录(CPU-GPU频率调整等).pdf

    在MTK Android设备上,对CPU和GPU进行管理和优化是至关重要的,这涉及到系统的性能、功耗以及稳定性。以下是一些常用命令的详细说明: **查看CPU频率:** 要查看CPU当前的工作频率,可以使用`cat`命令读取`/sys/...

    Android-Android开发辅助工具fpstopActivityactivity启动耗时电量cpu内存分析

    "Android-Android开发辅助工具fpstopActivityactivity启动耗时电量cpu内存分析"是一个专为开发者设计的工具,它可以帮助开发者监测和分析应用程序的运行状态,以便找出可能存在的性能瓶颈,提高用户体验。...

    Android中获取系统内存信息以及进程信息

    在Android系统中,开发者可以通过Android提供的API来获取系统的内存信息以及正在运行的进程状态。这一功能主要涉及到`ActivityManager`类的使用。`ActivityManager`是Android SDK中的一个关键组件,它提供了对系统...

Global site tag (gtag.js) - Google Analytics