Android上如何aix查看cpuU和内存信息

Android获取系统cpu信息,内存,版本,电量等信息
1、CPU频率,CPU信息:/proc/cpuinfo和/proc/stat
通过读取文件/proc/cpuinfoCPU的类型等多种信息。
读取/proc/stat 所有CPU活动的信息来计算CPU使用率
下面我们就来讲讲如何通过代码来获取CPU频率:
package com.orange.
import java.io.BufferedR
import java.io.FileNotFoundE
import java.io.FileR
import java.io.IOE
import java.io.InputS
public class CpuManager {
&&&&&&& // 获取CPU最大频率(单位KHZ)
&&&& // &/system/bin/cat& 命令行
&&&& // &/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq& 存储最大频率的文件的路径
&&&&&&& public static String getMaxCpuFreq() {
&&&&&&&&&&&&&&& String result = &&;
&&&&&&&&&&&&&&& ProcessB
&&&&&&&&&&&&&&& try {
&&&&&&&&&&&&&&&&&&&&&&& String[] args = { &/system/bin/cat&,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq& };
&&&&&&&&&&&&&&&&&&&&&&& cmd = new ProcessBuilder(args);
&&&&&&&&&&&&&&&&&&&&&&& Process process = cmd.start();
&&&&&&&&&&&&&&&&&&&&&&& InputStream in = process.getInputStream();
&&&&&&&&&&&&&&&&&&&&&&& byte[] re = new byte[24];
&&&&&&&&&&&&&&&&&&&&&&& while (in.read(re) != -1) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& result = result + new String(re);
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& in.close();
&&&&&&&&&&&&&&& } catch (IOException ex) {
&&&&&&&&&&&&&&&&&&&&&&& ex.printStackTrace();
&&&&&&&&&&&&&&&&&&&&&&& result = &N/A&;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& return result.trim();
&&&&&&&& // 获取CPU最小频率(单位KHZ)
&&&&&&& public static String getMinCpuFreq() {
&&&&&&&&&&&&&&& String result = &&;
&&&&&&&&&&&&&&& ProcessB
&&&&&&&&&&&&&&& try {
&&&&&&&&&&&&&&&&&&&&&&& String[] args = { &/system/bin/cat&,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq& };
&&&&&&&&&&&&&&&&&&&&&&& cmd = new ProcessBuilder(args);
&&&&&&&&&&&&&&&&&&&&&&& Process process = cmd.start();
&&&&&&&&&&&&&&&&&&&&&&& InputStream in = process.getInputStream();
&&&&&&&&&&&&&&&&&&&&&&& byte[] re = new byte[24];
&&&&&&&&&&&&&&&&&&&&&&& while (in.read(re) != -1) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& result = result + new String(re);
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& in.close();
&&&&&&&&&&&&&&& } catch (IOException ex) {
&&&&&&&&&&&&&&&&&&&&&&& ex.printStackTrace();
&&&&&&&&&&&&&&&&&&&&&&& result = &N/A&;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& return result.trim();
&&&&&&&& // 实时获取CPU当前频率(单位KHZ)
&&&&&&& public static String getCurCpuFreq() {
&&&&&&&&&&&&&&& String result = &N/A&;
&&&&&&&&&&&&&&& try {
&&&&&&&&&&&&&&&&&&&&&&& FileReader fr = new FileReader(
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq&);
&&&&&&&&&&&&&&&&&&&&&&& BufferedReader br = new BufferedReader(fr);
&&&&&&&&&&&&&&&&&&&&&&& String text = br.readLine();
&&&&&&&&&&&&&&&&&&&&&&& result = text.trim();
&&&&&&&&&&&&&&& } catch (FileNotFoundException e) {
&&&&&&&&&&&&&&&&&&&&&&& e.printStackTrace();
&&&&&&&&&&&&&&& } catch (IOException e) {
&&&&&&&&&&&&&&&&&&&&&&& e.printStackTrace();
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&
&&&&&&& // 获取CPU名字
&&&&&&& public static String getCpuName() {
&&&&&&&&&&&&&&& try {
&&&&&&&&&&&&&&&&&&&&&&& FileReader fr = new FileReader(&/proc/cpuinfo&);
&&&&&&&&&&&&&&&&&&&&&&& BufferedReader br = new BufferedReader(fr);
&&&&&&&&&&&&&&&&&&&&&&& String text = br.readLine();
&&&&&&&&&&&&&&&&&&&&&&& String[] array = text.split(&:\\s+&, 2);
&&&&&&&&&&&&&&&&&&&&&&& for (int i = 0; i & array. i++) {
&&&&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&&&& return array[1];
&&&&&&&&&&&&&&& } catch (FileNotFoundException e) {
&&&&&&&&&&&&&&&&&&&&&&& e.printStackTrace();
&&&&&&&&&&&&&&& } catch (IOException e) {
&&&&&&&&&&&&&&&&&&&&&&& e.printStackTrace();
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&
2、内存:/proc/meminfo
public void getTotalMemory() {&&
&&&&&&& String str1 = &/proc/meminfo&;&&
&&&&&&& String str2=&&;&&
&&&&&&& try {&&
&&&&&&&&&&& FileReader fr = new FileReader(str1);&&
&&&&&&&&&&& BufferedReader localBufferedReader = new BufferedReader(fr, 8192);&&
&&&&&&&&&&& while ((str2 = localBufferedReader.readLine()) != null) {&&
&&&&&&&&&&&&&&& Log.i(TAG, &---& + str2);&&
&&&&&&&&&&& }&&
&&&&&&& } catch (IOException e) {&&
&&&&&&& }&&
3、Rom大小
public long[] getRomMemroy() {&&
&&&&&&& long[] romInfo = new long[2];&&
&&&&&&& //Total rom memory&&
&&&&&&& romInfo[0] = getTotalInternalMemorySize();&&
&&&&&&& //Available rom memory&&
&&&&&&& File path = Environment.getDataDirectory();&&
&&&&&&& StatFs stat = new StatFs(path.getPath());&&
&&&&&&& long blockSize = stat.getBlockSize();&&
&&&&&&& long availableBlocks = stat.getAvailableBlocks();&&
&&&&&&& romInfo[1] = blockSize * availableB&&
&&&&&&& getVersion();&&
&&&&&&& return romI&&
&&& public long getTotalInternalMemorySize() {&&
&&&&&&& File path = Environment.getDataDirectory();&&
&&&&&&& StatFs stat = new StatFs(path.getPath());&&
&&&&&&& long blockSize = stat.getBlockSize();&&
&&&&&&& long totalBlocks = stat.getBlockCount();&&
&&&&&&& return totalBlocks * blockS&&
4、sdCard大小
public long[] getSDCardMemory() {&&
&&&&&&& long[] sdCardInfo=new long[2];&&
&&&&&&& String state = Environment.getExternalStorageState();&&
&&&&&&& if (Environment.MEDIA_MOUNTED.equals(state)) {&&
&&&&&&&&&&& File sdcardDir = Environment.getExternalStorageDirectory();&&
&&&&&&&&&&& StatFs sf = new StatFs(sdcardDir.getPath());&&
&&&&&&&&&&& long bSize = sf.getBlockSize();&&
&&&&&&&&&&& long bCount = sf.getBlockCount();&&
&&&&&&&&&&& long availBlocks = sf.getAvailableBlocks();&&
&&&&&&&&&&& sdCardInfo[0] = bSize * bC//总大小&&
&&&&&&&&&&& sdCardInfo[1] = bSize * availB//可用大小&&
&&&&&&& }&&
&&&&&&& return sdCardI&&
5、电池电量
private BroadcastReceiver batteryReceiver=new BroadcastReceiver(){&&
&&&&&&& @Override&
&&&&&&& public void onReceive(Context context, Intent intent) {&&
&&&&&&&&&&& int level = intent.getIntExtra(&level&, 0);&&
&&&&&&&&&&& //& level加%就是当前电量了&&
registerReceiver(batteryReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
6、系统的版本信息
public String[] getVersion(){&&
&&& String[] version={&null&,&null&,&null&,&null&};&&
&&& String str1 = &/proc/version&;&&
&&& String str2;&&
&&& String[] arrayOfS&&
&&& try {&&
&&&&&&& FileReader localFileReader = new FileReader(str1);&&
&&&&&&& BufferedReader localBufferedReader = new BufferedReader(&&
&&&&&&&&&&&&&&& localFileReader, 8192);&&
&&&&&&& str2 = localBufferedReader.readLine();&&
&&&&&&& arrayOfString = str2.split(&+&);&&
&&&&&&& version[0]=arrayOfString[2];//KernelVersion&&
&&&&&&& localBufferedReader.close();&&
&&& } catch (IOException e) {&&
&&& version[1] = Build.VERSION.RELEASE;// firmware version&&
&&& version[2]=Build.MODEL;//model&&
&&& version[3]=Build.DISPLAY;//system version&&
7、mac地址和开机时间
public String[] getOtherInfo(){&&
&&& String[] other={&null&,&null&};&&
&&&&&& WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);&&
&&&&&& WifiInfo wifiInfo = wifiManager.getConnectionInfo();&&
&&&&&& if(wifiInfo.getMacAddress()!=null){&&
&&&&&&& other[0]=wifiInfo.getMacAddress();&&
&&& } else {&&
&&&&&&& other[0] = &Fail&;&&
&&& other[1] = getTimes();&&
private String getTimes() {&&
&&& long ut = SystemClock.elapsedRealtime() / 1000;&&
&&& if (ut == 0) {&&
&&&&&&& ut = 1;&&
&&& int m = (int) ((ut / 60) % 60);&&
&&& int h = (int) ((ut / 3600));&&
&&& return h + & & + mContext.getString(R.string.info_times_hour) + m + & &&
&&&&&&&&&&& + mContext.getString(R.string.info_times_minute);&&
摘自 brainyAndroid 获取本应用CPU占用率
[问题点数:40分,结帖人David_Ding]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:1466
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
匿名用户不能发表回复!
其他相关推荐
用Android Studio 调试程序查看优化CUP使用率
参考一参考二1、top -t 能打印出线程级别的CPU使用情况
0.打印进程的堆栈信息。从堆栈信息里可以通过.so辨别哪个线程是干什么的,从而在 top -t 的结果里去查找你想要的那个线程的 CPU 使用情况。
# debuggerd -b &pid&
1.查看高通821 GPU使用率
# adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_bu...
根据最近的调研,Android整机的性能主要有如下方面:
本文着重介绍CPU相关数据的获取,在多核情况下,对每个CPU运行情况进行监控,获取相关的属性。
A. 当前主频,通过 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
获取,cpu0代表第一个CPU
B. 最大主频,
最近发现自己学的很多东西没有做好积淀的工作,也萌生了写一些东西的念头。本人也没有写博客的习惯,下边就写一下手机端的性能测试。
  最近公司,要我们从事对竞品的性能测试,我负责CPU和内存的性能测试,下面就和大家来分享一下android应用程序的CPU和内存的性能测试。
  首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用
可以获取系统的内存和可用内存,cpu的实时使用率
$sudo ./adb shell
// 查看cpu占用情况。
// 查看cpu占用最高的10个进程。
用java获取CPU占用率
java 获取 CPU 占用率
下面是源码:using S
using System.D
using System.IO;
namespace cpu_get_info
class Program
static void write_logs(string str)
//获取和设置当前目录。
原理:安卓手机的系统性能信息都写在系统的文件中,通过安卓SDK源生命令来获取这些信息。import java.io.BufferedR
import java.io.F
import java.io.FileInputS
import java.io.InputStreamR
import java.text.DecimalFpublic cl
最近邱同学让我整理一下快看测试的性能指标,问了一下老大,他跟我说了响应时间、资源利用率和吞吐量这些。这里先了解一下手机的CPU和内存的查看方法,不过测试性能里的资源利用率好像说的是服务器端的,不知道有没有搞错。先记录一下手机端的吧。
1. 打开DOS窗口,进入adb.exe所在的文件目录
1) 打开DOS窗口输入:win + r
2) 进入adb所在文件目录:cd C:\Pr查看: 16681|回复: 0
【新手教程】如何查看电脑CPU和内存占用
主题帖子积分
桌面下方按右键——任务管理器——性能——cpu、内存,
微信截图_47.png (30.5 KB, 下载次数: 171)
16:47 上传
如果满了,那就是电脑配置太低了,开的时候把其他的软件都退了,以减少查cpu和内存占用。
上一篇:下一篇:
雷电愚人节
愚人节活动可得
相关内容热门话题
[][][][][][][][][][]
模拟器资讯
[][][][][][][][][][]
模拟器教程
[][][][][][][][][][]
微信扫一扫
免费领礼包、抽大奖
Powered by Discuz! X3.2
Comsenz Inc.ANDROID如何查看CPU的占用率和内存泄漏_图文_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&100W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
ANDROID如何查看CPU的占用率和内存泄漏
阅读已结束,下载本文需要
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢提供主流cms教程
提供数据库教程和设计
提供各种常见网页js代码
提供常用的JS特效代码及在线演示
提供jQuery插件教程及插件下载
提供服务器常见问题及教程
提供常用开发手册和开发工具
您现在的位置:& >
Native.js获取内存及CPU信息-Android平台
/*得到手机MAC地址*/
function getMac() {
var mac = &xxx-xxx-xxx-xxx&;
if (plus.os.name == &Android&) {
//WifiManager
var Context = plus.android.importClass(&android.content.Context&);
var WifiManager = plus.android.importClass(&android.net.wifi.WifiManager&);
var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);
var WifiInfo = plus.android.importClass(&android.net.wifi.WifiInfo&);
var wifiInfo = wifiManager.getConnectionInfo();
mac = wifiInfo.getMacAddress();
return mac;
/*获取手机内存信息*/
function getMemorySize() {
&&& var memoryInfo = '';
&&& if (plus.os.name == &Android&) {
&&&&&&& var Context = plus.android.importClass(&android.content.Context&);
&&&&&&& var ActivityManager = plus.android.importClass(&android.app.ActivityManager&);
&&& var mi = new ActivityManager.MemoryInfo();
&&&&&&& var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);
&&&&&&& activityService.getMemoryInfo(mi);
&&&&&&& memoryInfo = mi.plusGetAttribute(&availMem&);
&&& return memoryI
/*获取手机内部总的存储空间*/
function getTotalInternalMemorySize() {
var internalMemSize = 0;
if (plus.os.name == &Android&) {
var environment = plus.android.importClass(&android.os.Environment&);
var statFs = plus.android.importClass(&android.os.StatFs&);
var files = plus.android.importClass(&java.io.File&);
var Files = environment.getDataDirectory();
var StatFs = new statFs(Files.getPath());
var blockSize = parseFloat(StatFs.getBlockSize());
var blockCount = parseFloat(StatFs.getBlockCount());
internalMemSize = blockSize * blockCount;
return internalMemSize;
/*获取总内存*/
function getTotalRamSize() {
var memInfo = '/proc/meminfo';
var temp = '',
ramSize = '',
arrays, initMemory;
var fileReader = plus.android.importClass(&java.io.FileReader&);
var bufferedReader = plus.android.importClass(&java.io.BufferedReader&);
var FileReader = new fileReader(memInfo);
var BufferedReader = new bufferedReader(FileReader, 8192);
while ((temp = BufferedReader.readLine()) != null) {
if (-1 != temp.indexOf('MemTotal:')) {
var value = temp.replace(/[^0-9]/ig, &&);
ramSize = Math.floor(parseInt(value) / (1024));
return ramSize;
/*获取手机CPU信息*/
function getCpuInfo() {
var cpuInfo = '/proc/cpuinfo';
var temp = '',
cpuHardware;
var fileReader = plus.android.importClass(&java.io.FileReader&);
var bufferedReader = plus.android.importClass(&java.io.BufferedReader&);
var FileReader = new fileReader(cpuInfo);
var BufferedReader = new bufferedReader(FileReader, 8192);
while ((temp = BufferedReader.readLine()) != null) {
if (-1 != temp.indexOf('Hardware')) {
cpuHardware = temp.substr(parseInt(temp.indexOf(&:&)) + 1);
return cpuHardware;
/*获取CPU核数*/
function getCpuCount() {
var Runtime = plus.android.importClass(&java.lang.Runtime&);
var cpuCount = Runtime.getRuntime().availableProcessors();
return cpuCount;}

我要回帖

更多关于 googleplay下载apk 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信