Ⅰ 安卓手机内存占用率和CPU占用率那个个耗电大
手机卡顿的主要原因就是闪存写入速度缓慢,虽然用了emmc5.1的闪存,但是实际测试连emmc5.0的速度都打不到,还是n年前的水平,速度跟不上cpu内存的速度才造成这卡顿的局面!cpu应该是被闪存拖崩溃了。
Ⅱ 怎么能知道安卓手机的cpu~运行内存RAM…和ROM
一般手机是进入手机设置——内存就有!CPU手机自带查看是多大是没办法看的(一般手机)最多可以进入任务管理器中查看进程(这个你手机不一定有)要是选购手机的话就上网查看手机资料……要是买了的话我劝你也别太较真……你用的不卡就好…毕竟不是电脑啊
Ⅲ 安卓手机机身内存和运行内存什么意思,怎么分别
RAM
是
Random
Access
Memory
ROM
是
Read-Only
Memory
运行内存(RAM),是手机好坏的关键因素,可以说,没有足够的RAM,就没有好的CPU和运行效果,相当于电脑上的内存条吧只读内存(ROM),其实没多大用处,相当于内存卡的作用,也就是电脑上的硬盘,ROM不够的话买张内存卡就是,当然,除非ROM小到装个系统都吃力,那就麻烦了,不过,没有哪家制造商会这样……
Ⅳ android 系统 多少CPU够用
手机嘛,按你的需求够用就行。不必非要强求某一参数,你又不准备拿它终身使用。它本来就是个消耗品,你每天都带身上,一般3年时间,再好的手机也会因硬件损耗,因性能低下,因样式老旧等各种原因而淘汰掉。
手机的技术不断更新,更快更节能更强大的产品每一年都会出现:系统越来越华丽、功能越来越接近小型电脑、价格越来越便宜。
所以,根据自己的需要,按自己的消费能力来选择。
一般智能手机CPU达到400MHZ以上就能基本满足基础应用。按性价比,最好在600MHZ左右适中,可以运行一些稍微大一点的3D游戏,华丽一些的程序,看下高码率的电影。内存128MB以上是必须的,而硬盘可以完全用拓展卡,这没关系。
最后说下我的IPHONE 3GS行货,当时的价格是5999元,600MHZ的CPU,256MB内存,16GB硬盘,系统升级到了最新的OS4.1,虽然可以多任务了,但是程序反映要比以前慢了些,连最简单的IPOD听歌,启动都慢了,在最新的系统下,CPU性能显得低下许多,手机用了不到一年,新的4代也出来了,技术标准有提高了,你说这更新换代的速度,所以嘛,够用就可以了!!!适合自己的产品才是最高的产品。消耗品,不是铁杆发烧友,没必要站在最前沿。
android网络,可以参考下:http://ke..com/view/1241829.htm
Ⅳ 安卓手机的处理器跟运行内存
600MCPU与256M
RAM只能说基本够用吧,要是1.6版本的还行,高版本的可能有些运行不流程
Ⅵ 安卓手机的运行速度和cpu的大还是和运行内存大
运存大就运行速度也就大,但cpu
也不能太低1G以上
运存>cpu
Ⅶ 如何获取 Android 设备的CPU核数,时钟频率以及内存大小
Device Year Class 的主要功能是根据 CPU核数、时钟频率 以及 内存大小 对设备进行分级。代码很简单,只包含两个类:
DeviceInfo-> 获取设备参数,
YearClass-> 根据参数进行分级。
下表是 Facebook 公司提供的分级标准,其中Year栏表示分级结果。
Year Cores Clock RAM
2008 1 528MHz 192MB
2009 n/a 600MHz 290MB
2010 n/a 1.0GHz 512MB
2011 2 1.2GHz 1GB
2012 4 1.5GHz 1.5GB
2013 n/a 2.0GHz 2GB
2014 n/a >2GHz >2GB
关于输出年份的计算方法可以参考源码,本文只把一些比较常用的功能抽取出来做一个简要介绍。
获取 CPU 核数
我们都知道,Linux 中的设备都是以文件的形式存在,CPU 也不例外,因此 CPU 的文件个数就等价与核数。
Android 的 CPU 设备文件位于/sys/devices/system/cpu/目录,文件名的的格式为cpu\d+。
?
1
2
3
4
5
6
7
8
9
10
root@generic_x86_64:/sys/devices/system/cpu # ls <b>cpu0</b> cpufreq
cpuidle
kernel_max
modalias
offline
online
possible
power
present
uevent
统计一下文件个数便可以获得 CPU 核数。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public static int getNumberOfCPUCores() {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) {
// Gingerbread doesn't support giving a single application access to both cores, but a
// handful of devices (Atrix 4G and Droid X2 for example) were released with a al-core
// chipset and Gingerbread; that can let an app in the background run without impacting
// the foreground application. But for our purposes, it makes them single core.
return 1;
}
int cores;
try {
cores = new File("/sys/devices/system/cpu/").listFiles(CPU_FILTER).length;
} catch (SecurityException e) {
cores = DEVICEINFO_UNKNOWN;
} catch (NullPointerException e) {
cores = DEVICEINFO_UNKNOWN;
}
return cores;
}
private static final FileFilter CPU_FILTER = new FileFilter() {
@Override
public boolean accept(File pathname) {
String path = pathname.getName();
//regex is slow, so checking char by char.
if (path.startsWith("cpu")) {
for (int i = 3; i < path.length(); i++) {
if (path.charAt(i) < '0' || path.charAt(i) > '9') {
return false;
}
}
return true;
}
return false;
}
};
回到顶部
获取时钟频率
获取时钟频率需要读取系统文件 -/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq或者/proc/cpuinfo。
我的 Android 模拟器中并没有cpuinfo_max_freq文件,因此只能读取/proc/cpuinfo。
/proc/cpuinfo包含了很多 cpu 数据。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 70
model name : Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
stepping : 1
cpu MHz : 0.000
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 4
wp : yes
代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public static int getCPUMaxFreqKHz() {
int maxFreq = DEVICEINFO_UNKNOWN;
try {
for (int i = 0; i < getNumberOfCPUCores(); i++) {
String filename =
"/sys/devices/system/cpu/cpu" + i + "/cpufreq/cpuinfo_max_freq";
File cpuInfoMaxFreqFile = new File(filename);
if (cpuInfoMaxFreqFile.exists()) {
byte[] buffer = new byte[128];
FileInputStream stream = new FileInputStream(cpuInfoMaxFreqFile);
try {
stream.read(buffer);
int endIndex = 0;
//Trim the first number out of the byte buffer.
while (buffer[endIndex] >= '0' && buffer[endIndex] <= '9'
&& endIndex < buffer.length) endIndex++;
String str = new String(buffer, 0, endIndex);
Integer freqBound = Integer.parseInt(str);
if (freqBound > maxFreq) maxFreq = freqBound;
} catch (NumberFormatException e) {
//Fall through and use /proc/cpuinfo.
} finally {
stream.close();
}
}
}
if (maxFreq == DEVICEINFO_UNKNOWN) {
FileInputStream stream = new FileInputStream("/proc/cpuinfo");
try {
int freqBound = parseFileForValue("cpu MHz", stream);
freqBound *= 1000; //MHz -> kHz
if (freqBound > maxFreq) maxFreq = freqBound;
} finally {
stream.close();
}
}
} catch (IOException e) {
maxFreq = DEVICEINFO_UNKNOWN; //Fall through and return unknown.
}
return maxFreq;
}
回到顶部
获取内存大小
如果 SDK 版本大于等于JELLY_BEAN,可以通过ActivityManager来获取内从大小。
?
1
2
3
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
ActivityManager am = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE);
am.getMemoryInfo(memInfo);
如果版本低于JELLY_BEAN,则只能读取系统文件了。
?
1
2
FileInputStream stream = new FileInputStream("/proc/meminfo");
totalMem = parseFileForValue("MemTotal", stream);
完整代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public static long getTotalMemory(Context c) {
// memInfo.totalMem not supported in pre-Jelly Bean APIs.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
ActivityManager am = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE);
am.getMemoryInfo(memInfo);
if (memInfo != null) {
return memInfo.totalMem;
} else {
return DEVICEINFO_UNKNOWN;
}
} else {
long totalMem = DEVICEINFO_UNKNOWN;
try {
FileInputStream stream = new FileInputStream("/proc/meminfo");
try {
totalMem = parseFileForValue("MemTotal", stream);
totalMem *= 1024;
} finally {
stream.close();
}
} catch (IOException e) {
}
return totalMem;
}
}
Ⅷ Android上如何查看CPU和内存信息
1.进入adb shell
2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)
参数含义:
PID:progressidentification,应用程序ID
S: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
#THR:程序当前所用的线程数
VSS:Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
RSS: Resident Set Size实际使用物理内存(包含共享库占用的内存)
PCY:不知道什么意思,期待解答
UID:UserIdentification,用户身份ID
Name:应用程序名称
查看内存消耗
1.进入adb shell ;
2.输入mpsys meminfo(PID或者是包名)
Ⅸ android cpu和内存一样吗
安卓CPU:就像是电脑中的硬件一样,只是处理操作,下载一些事情的,就像人的大脑处理情 一样,聪明的人CPU就很快;
内存:就像你的那个U盘一样,是存储数据的功能,就像人的记忆,当然也分为短期记忆RAM和长期记忆ROM。
Ⅹ 安卓手机怎么看CPU和内存
RAM
A8是手机CPU的构架。不同型号的手机有不同的手机CPU厂商来提供,比如摩托手机的CPU的提供商是德州仪器。三星的手机是自己的产的CPU,他们的共同特征是基于RAM
A8构架基础上研制出来的。
你有点概念上的混淆,你说的MT6516是具体的CPU的型号,是基于RAM
A8基础上开发的,这方面没有矛盾。
在手机设置里可以看ROM和RAM。也可以用特定的优化软件看。
希望对你有帮助!