如何获取 Android 设备的CPU核数,时钟频率以及内存大小

如何获取 Android 设备的CPU核数,时钟频率以及内存大小,第1张

 Device Year Class 的主要功能是根据 CPU核数、时钟频率 以及 内存大小 对设备进行分级。代码很简单,只包含两个类:DeviceInfo-> 获取设备参数,YearClass-> 根据参数进行分级。下表是 Facebook 公司提供的分级标准,其中Year栏表示分级结果。Year Cores Clock RAM2008 1 528MHz 192MB2009 n/a 600MHz 290MB2010 n/a 10GHz 512MB2011 2 12GHz 1GB2012 4 15GHz 15GB2013 n/a 20GHz 2GB2014 n/a >2GHz >2GB关于输出年份的计算方法可以参考源码,本文只把一些比较常用的功能抽取出来做一个简要介绍。获取 CPU 核数我们都知道,Linux 中的设备都是以文件的形式存在,CPU 也不例外,因此 CPU 的文件个数就等价与核数。Android 的 CPU 设备文件位于/sys/devices/system/cpu/目录,文件名的的格式为cpu\d+。12345678910root@generic_x86_64:/sys/devices/system/cpu # ls <b>cpu0</b> cpufreqcpuidlekernel_maxmodaliasofflineonlinepossiblepowerpresentuevent统计一下文件个数便可以获得 CPU 核数。1234567891011121314151617181920212223242526272829303132333435public static int getNumberOfCPUCores() {if (BuildVERSIONSDK_INT <= BuildVERSION_CODESGINGERBREAD_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 dual-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 corereturn 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() {@Overridepublic boolean accept(File pathname) {String path = pathnamegetName();//regex is slow, so checking char by charif (pathstartsWith("cpu")) {for (int i = 3; i < pathlength(); i++) {if (pathcharAt(i) < '0' pathcharAt(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 数据。processor : 0vendor_id : GenuineIntelcpu family : 6model : 70model name : Intel(R) Core(TM) i7-4770HQ CPU @ 220GHzstepping : 1cpu MHz : 0000cache size : 1024 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : nofpu : yesfpu_exception : yescpuid level : 4wp : yes代码如下: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 (cpuInfoMaxFreqFileexists()) {byte[] buffer = new byte[128];FileInputStream stream = new FileInputStream(cpuInfoMaxFreqFile);try {streamread(buffer);int endIndex = 0;//Trim the first number out of the byte bufferwhile (buffer[endIndex] >= '0' && buffer[endIndex] <= '9'&& endIndex < bufferlength) endIndex++;String str = new String(buffer, 0, endIndex);Integer freqBound = IntegerparseInt(str);if (freqBound > maxFreq) maxFreq = freqBound;} catch (NumberFormatException e) {//Fall through and use /proc/cpuinfo} finally {streamclose();}}}if (maxFreq == DEVICEINFO_UNKNOWN) {FileInputStream stream = new FileInputStream("/proc/cpuinfo");try {int freqBound = parseFileForValue("cpu MHz", stream);freqBound = 1000; //MHz -> kHzif (freqBound > maxFreq) maxFreq = freqBound;} finally {streamclose();}}} catch (IOException e) {maxFreq = DEVICEINFO_UNKNOWN; //Fall through and return unknown}return maxFreq;}回到顶部获取内存大小如果 SDK 版本大于等于JELLY_BEAN,可以通过ActivityManager来获取内从大小。 ActivityManagerMemoryInfo memInfo = new ActivityManagerMemoryInfo();ActivityManager am = (ActivityManager) cgetSystemService(ContextACTIVITY_SERVICE);amgetMemoryInfo(memInfo);如果版本低于JELLY_BEAN,则只能读取系统文件了。FileInputStream stream = new FileInputStream("/proc/meminfo");totalMem = parseFileForValue("MemTotal", stream);完整代码如下: @TargetApi(BuildVERSION_CODESJELLY_BEAN)public static long getTotalMemory(Context c) {// memInfototalMem not supported in pre-Jelly Bean APIsif (BuildVERSIONSDK_INT >= BuildVERSION_CODESJELLY_BEAN) {ActivityManagerMemoryInfo memInfo = new ActivityManagerMemoryInfo();ActivityManager am = (ActivityManager) cgetSystemService(ContextACTIVITY_SERVICE);amgetMemoryInfo(memInfo);if (memInfo != null) {return memInfototalMem;} else {return DEVICEINFO_UNKNOWN;}} else {long totalMem = DEVICEINFO_UNKNOWN;try {FileInputStream stream = new FileInputStream("/proc/meminfo");try {totalMem = parseFileForValue("MemTotal", stream);totalMem = 1024;} finally {streamclose();}} catch (IOException e) {}return totalMem;}}

安卓的手机如何扩大运行内存

厂商在设计生产手机时,根据CPU的能力及运行的软件,还有手机档次已经选定了板载内存,也就是固定在主板上的内存,这个内存的大小自己是无法添加的,大小从原来的几百K,到现在的4M。都是因为需要而不断的增加,这个内存不但存放系统文件,还需要留出一部分当运行内存,个人下载的文件也全都存在里面,因为个人使用而下载的软件太多了,就会占用过多的内存,使得可用的内存太少,造成系统缓存严重而死机等等情况时有发生。

在使用手机时,如果下载的文件太多,可以用张大点的内存卡,最好是C10的高速卡。把个人下载的文件全放卡强制存在内存卡上,把板载内存留给系统,这样才不会出现内存不够用的情况发生。

手机运行内存可以增加吗?怎么弄?

硬性的内存不能增加,只是有些系统针对有些机型优化的好点,系统占用内存会少点,这样运行内存就剩余的多点,这得试着刷机看看,但不一定一定能增加,建议多刷几个版本试试,刷机的话很多软件都可以,搜一下刷机软件,有很多的

怎么增加手机运行内存啊!是运行内存!

手机系统内存又称“运行内存”。手机的“内存”分为“运行内存”及“非运行内存”。手机的“运行内存”相当于电脑的内存。而手机的“非运行内存”,相当于电脑的硬盘。“运行内存”越大,手机能运行多个程序且流畅;“非运行内存”越大,就像硬盘越俯,能存放更多的数据。

运行内存是手机制造商在手机主板芯片上的内存,没办法增加的。出厂多大就是多大

怎么增大安卓手机运行内存

方法/步骤1、获取手机root权限刷机有什么好处呢?刷机可实现手机用户的最大权限,发挥出手机的最大潜能,并且还可以把一些手机的内置无用的系统软件给清理掉,给手机留下更多空间。现在网络上发布的手机获取root权限的方法很多,比如360手机安全卫士的一键root,腾讯电脑管家的一键root,还有root精灵等等一系列root软件,大多数root软件即使root失败对手机本身是无伤害的,所以请放心root,当然还需你的手机品牌和型号支持。如果不支持的话,就得冒风险去刷机了(我的联想手机就是通过刷机实现root的),若刷机没成功,很可能手机变板砖,所以请慎重刷机!

2、通过其他软件实现高性能软件可提高手机运行内存可能某些手机党还不了解,现在许多软件开发的团队开发的软件是越来越牛逼,堪称神器。虽然网络上是有一些软件可扩展运行内存,但大多数都无一用处。下面我来给大家推荐一个软件,是通过把手机运行内存与内存卡的内存相连接,从而实现运行内存的扩展,虽然称之为神器,但是还是有美中不足,低端手机扩展过大内存包容易使手机奔溃重启,所以必须合力使用。3、首先,下载我分享的这个软件。4、第二步,安装到手机内存中,并且打开该软件。点击开启,再点击YES。5、第三步点击创建交换文件,选择交换文件大小一般可选96~256M的,看你手机硬件的优良。点击后等待一会。6、最后,点击开启,一切都OK了,你会发现,手机许多以前不能玩的运行的游戏都能玩了。希望帮助你

怎么增加手机运行内存

只能物理增加内存,而不可能通过软件增加,也就是换手机,换大运行内存的手机。

软件优化系统之类的,关闭自启动程序,可以暂时改善内存使用状态,但本身不是长久之计,使用一段时间,又运行内存满了。

软件优化除非你狠心卸载掉应用程序,root后,卸载掉不需要的系统程序,应用程序少了,自启动少了,运行内存相对就增加了 。

手机运行内存太小怎么办?能不能扩大运行内存?

这是自身的硬件问题,现在手机更新换代太快了。有些东西并不是你想的那么简单。毕竟资源是有限的,比如手机内存同样的外观和体积,但是内部的储存容量是不一样的。如果都扩大,那样我们不是更好吗?何乐而不为呢。买手机的话建议你买360f4手机,用起来很不错的。我很喜欢很适合青年使用

如何把手机运行内存加大

你好 首先你要知道手机运行内存和内存是两个截然不同的概念! 运行内存是指手机运行程序时的内存,也叫RAM(简称运存)。而另一个内存是用来存储东西的内存,就像8G的MP4一样,它拥有8G的存储空间,这种内存为一般叫的手机内存。 手机的运行内存就是指它自身的内存也就是C盘的大小 不包括存储卡或者硬盘手机的硬盘容量 用电脑比较的话手机的运行内存就是电脑的内存,是不可以作为储存数据的介质的。 注:在规范、专业的名称叫法里是没有运行内存和手机内存一说的。内存就是指随机存储器(Random Access Memory)。而作为存储数据用的则叫NAND闪存或者叫NAND Flash(也就是所谓的手机/机身内存)。

如何把手机运行内存加大

方法/步骤

1

①安装(安装到手机内存上,不要移动到SD卡) panbaidu/s/1pJDiUHt 内存卡开虚拟内存

2

②打开选择sdcard0

3

③勾选自动运行和状态栏显 调swpfile,建议不要调太高,建议512调swappiness和最小值,自测,我调的是60和2 勾选swap activ

4

④耐心等待。。写入完成后,让它后台运行~

END

注意事项

修改内存过程中不能重启

怎样能增大手机运行内存呢

手机的运行内存是无法增大的,和电脑的内存条不一样。只能节省使用,变相增大。

一般只有安卓手机会经常面临运行内存不足的情况,因为安卓手机有一个特殊的机制就是自动启动。本意是为了加快程序的启动程序,结果权限被滥用,不管是不是有必要,几乎所有的应用程序都想在用户开机的时候后台自动启动。于是就造成了没开几个程序,但内存占用却很高的怪现象。

RAM不足,可以通过节省RAM使用来变相的提升可用内存的容量。方法是:

1、安卓低版本,必须Root后,用LBE安全大师或自启管家等类似的软件,禁止后台不必要的应用自启,就可以十分有效的空出大量的可用内存。安卓50以后,系统自带了内存管理器,就可以禁自启,无需root。

2、用进程管理软件,经常在运行大程序前,杀一杀进程,清理一下内存。

3、一个功能,尽量只装一个软件。比如市场软件,只装一个。比如杀毒、拦截骚扰短信、统计流量、节电等常用功能,尽量用一个软件来完成(比如前述的LBE),不要装多个软件,那样会增加不必要的内存浪费。

4、暂时不用的软件,可以把安装包备份在手机存储卡里,然后卸载。用的时候临时装上。这样十分节省内存。

朋友,其实不必过于在意android系统的运存大小,系统会帮你管理,android不是windows,剩余内存大不是就会快,我也是android用户,以前总用什么es任务管理器清理小z(Desire Z)后台的程序,而且用得是CM的系统,总保持230M+的运存,可是并没有什么体现在使用上,现在用得带sense的rom,开着动态壁纸,有时候后台就76M的空余内存,但是一点也不卡,有的时候看会到130M+(很大一部分内存都被sense界面占用了)依然不卡,android系统的任务管理和资源分配做得不错,不必过于在意运存,我还真不相信有压榨干RAM的android应用呢,一个进程占用30M、40M了不起了,就算是比较大型的游戏占用100M+系统也能很好的管理RAM,这时候他会自动释放后台程序,合理配置资源,用了那种清理RAM的软件反倒会打乱这机制导致系统变卡。而楼主想用swapper来增加内存,说实话,这就像windows的虚拟内存一样,不一样的是虚拟内存基于硬盘,而swap基于储存卡,储存卡的读写是有次数的,这样频繁的读写还会减少储存卡寿命。楼主不要迷信RAM大会增加运行速度。望对楼主有用。

问题一:安卓智能机内存太小,如何扩展手机内存 你的手机肯定支持扩展内存容量哗?建议买个4G或者8G的内存卡安上就可以了。为放心起见,建议去京东购买。

金士顿(Kingston)8G Class4 TF(micro SD)存储卡 ¥399

问题二:安卓手机怎么扩自带的内存?不是内存卡 手机的自带内存无法扩容

一般内存只指ram,用于存储运行的程序,断电数据自动清空(ram不足建议关闭一些开机就启动的软件,并可以使用内存优化工具,再不济只能换手机了……)

也有人把手机的ROM内部数据存储也叫内存骸功能相当于各类内存卡,安装了手机的 *** 作系统和部分软件(rom不足只能删除程序、、影像、mp3等数据,rom不足可以加适用本手机的内存卡)

如果有用请采纳

问题三:安卓手机内存可以扩大吗? 手机分物理内存和运行内存。。。。。你这款手机运行内存256M确实太小了,除了系统占用的100多M,剩下的确实不够用,运行软件时候需要占用运行内存,运行内存不可扩展的――――另外物理内存512M,可以扩展,软件是安装在物理内存的,提示内存不足,可以买张内存卡,然后将软件移至内存卡,某些带有插件的软件是不能移动的,比如QQ或者天气软件。如果ROOT以后倒是可以强行移动,不过那样的话,软件就会出问题,所以不建议强行移动。总体来说运行内存太小,就算把物理内存扩的再大也没用。。。。

问题四:安卓手机怎么把应用安装到扩展存储卡 一般40的系统都有一个程序储存器选项,可以选择安装在外部储存卡上。如果不是40系统或以上,有2中方式,一是刷系统,二就是采用link2sd。前者可以线刷或卡刷,网上有教程;后者只需root后,将外部储存卡分区,利用link_2sd软件就可以实现无限拓展,内存空间。希望可以帮助到您。

问题五:怎么增大安卓手机运行内存 方法/步骤1、获取手机root权限刷机有什么好处呢?刷机可实现手机用户的最大权限,发挥出手机的最大潜能,并且还可以把一些手机的内置无用的系统软件给清理掉,给手机留下更多空间。现在网络上发布的手机获取root权限的方法很多,比如360手机安全卫士的一键root,腾讯电脑管家的一键root,还有root精灵等等一系列root软件,大多数root软件即使root失败对手机本身是无伤害的,所以请放心root,当然还需你的手机品牌和型号支持。如果不支持的话,就得冒风险去刷机了(我的联想手机就是通过刷机实现root的),若刷机没成功,很可能手机变板砖,所以请慎重刷机!

2、通过其他软件实现高性能软件可提高手机运行内存可能某些手机党还不了解,现在许多软件开发的团队开发的软件是越来越牛逼,堪称神器。虽然网络上是有一些软件可扩展运行内存,但大多数都无一用处。下面我来给大家推荐一个软件,是通过把手机运行内存与内存卡的内存相连接,从而实现运行内存的扩展,虽然称之为神器,但是还是有美中不足,低端手机扩展过大内存包容易使手机奔溃重启,所以必须合力使用。3、首先,下载我分享的这个软件。4、第二步,安装到手机内存中,并且打开该软件。点击开启,再点击YES。5、第三步点击创建交换文件,选择交换文件大小一般可选96~256M的,看你手机硬件的优良。点击后等待一会。6、最后,点击开启,一切都OK了,你会发现,手机许多以前不能玩的运行的游戏都能玩了。希望帮助你

问题六:能不能扩充安卓手机的运行内存 这个不用想了 理论上可 也有人这么干过 不过花费高不说 更改后手机容易出问题 得不偿失!

问题七:手机自带内存太小,怎么样能扩大内存?? 不知道楼主是什么手机,可以按照自己的手机型号到论坛里找找,会有高手分享的刷大内存的刷机包。手机的内存分为ram和rom两种,说白了楼主想要扩大的是ram,也就是小的那个,相当于手机的c盘一样。这种刷机包利用的就是将手机自身的rom分给ram一部分,就相当于电脑的硬盘重新分区。所以楼主要保证自己手机的rom比较大,这样才能将更多的空间分享给ram。不知道楼主看懂没……不懂可以追问。

问题八:怎样增加安卓手机的虚拟运行内存RAM ,手机的ram太小 首先root然后安装lin2sd 完美安装!!

不过要把你的内存卡分成两个分区!! 一个默认的fat32,一个是linux系统下的ext3 ! 外加一个swap缓存!

有点麻烦,但是如果需要,可以看看这个帖子!

wenkubaidu/f

问题九:安卓手机可以使用内存扩容器吗 可腾讯手机管家小火箭清理加速内存,平日里,小火箭会默默无闻的待在手机的一个角落,它会直观且随时随地的告诉你当前内存已用情况。当需要时,只要将图标向下拖动到发射加速台并松手发射,它就会立刻燃烧掉手机内存中的进行,并尽可能多的释放手机内存空间,从而在很大程度上提升手机的速度。

以上就是关于如何获取 Android 设备的CPU核数,时钟频率以及内存大小全部的内容,包括:如何获取 Android 设备的CPU核数,时钟频率以及内存大小、安卓的手机如何扩大运行内存、怎样增加安卓手机的虚拟运行内存RAM 怎么刷谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10628003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存