Ⅰ 如何查看android手机的内存
打开手机找到设置点击进入
Ⅱ android系统大概占多大的内存那
不是的。不知楼主说的是内存卡还是手机内存。首先要说明,卡上说的是8G,实际只能用7G多。因为生产厂家采用1000为单位,而手机读取采用1024未单位,所以有误差。我的android 手机由于有导航,导航占用了1.5G多。实际系统文件只有几百M。
Ⅲ 如何深度清理android内存
我也遇见过这种情况,手机上装的软件越来越少,但是手机上的内存却越来越小,最后一怒之下恢复了出厂设置!嘿嘿,然后手机上就有了好多好多内存,又能装好多软件了!但是在恢复出厂设置之前注意要备份一下手机上的数据!要不你就哭去吧!
Ⅳ 有办法降低 Android 的 graphics 层的内存吗
(1) 操作Bitmap对象,一定要注意,在不使用的时候 recycle
(2) 访问数据库,一定要记得关闭游标
(3) 涉及JNI层的代码,由于JNI层是采用C/C++编写,需要自己管理内存的分配/回收,所以要慎重小心。
那么,Android开发中,有什么有效的方法可以检测内存使用情况以及内存泄漏呢看
这里主要介绍三种方法:
1. 程序的Log信息
程序在进行垃圾回收的时候,会打印一条Log信息(logcat窗口),例如:
D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/K, paused 2ms+2ms
注意这条信息中的 逗 3571K/9991K地 值,这代表着程序使用的heap大小,如果这个值一直在增加,而从来不减小,那么就代表着你的程序存在着内存泄漏。
2. DDMS的Heap信息
Eclipse开发环境还提供了一种更加直观的方法来查看App的Heap信息,操作方式如下:
(1) 连接手机,运行程序,假设是 com.ticktick.test 程序
(2) 点击DDMS按钮,在左侧的Device窗口选中你要检测的程序(com.ticktick.test )
(3) 点击Device窗口工具栏的第二个图标(Update Heap),
(4) 点击右边的窗口的Cause GC按钮,即可得到当前程序的Heap信息
同样,随着程序的运行,多次点击得到的Heap大小,如果只增不减的话,也昭示着你的程序有内存泄漏。
3. adb命令查看内存信息
其实,最全面最简单的方式还是用adb命令来查看程序的内存占用和内存泄漏情况,打开命令行窗口,adb命令的格式如下:
adb shell mpsys meminfo <package_name>
其中,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep app_name 来查找,在命令行窗口运行上述命令,得到的我的 com.ticktick.test 程序的内存情况如下所示:
这里得到的信息非常多,重点关注如下几个字段:
(1) Native/Dalvik 的 Heap 信息
具体在上面的第一行和第二行,它分别给出的是JNI层和java层的内存分配情况,如果发现这个值一直增长,则代表程序可能出现了内存泄漏。
(2) Total 的 PSS 信息
这个值就是你的应用真正占据的内存大小,通过这个信息,你可以轻松判别手机中哪些程序占内存比较大了。
4. 总结
关于Android开发中内存的使用情况和内存泄漏的检测就简单介绍到这里,基本上用以上三种方式都能够定位内存泄漏问题,平时在使用Bitmap,数据库和JNI层C/C++编程的时候,注意一点就行。另外,如果想深入了解文中的一些详细内容,可以参考Google官方提供的两篇文章,它们有着更详细的论述《Investigating Your RAM Usage》,《Managing Your App Memory》,有任何疑问或者不清楚的地方,欢迎留言或者来信[email protected]交流。
Ⅳ android内存能够泄漏多少
内存泄漏是指分配出去的内存无法回收了
内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。
内存溢出是指程序要求的内存,超出了系统所能分配的范围,从而发生溢出。
内存溢是指在一个域中输入的数据超过它的要求而且没有对此作出处理引发的数据溢出问题,多余的数据就可以作为指令在计算机上运行。
Ⅵ 一个android应用在内存中占用多少内存
在Android中,一个Process 只能使用16M内存,如果超过了这个限制就会抛出Android Out Of Memory(OOM) 这个异常。 在Android中: 1.一个进程的内存可以由2个部分组成:java 使用内存 ,C 使用内存 ,这两个内存的和必须小于16M,不然就会出现OOM...
Ⅶ Android手机到底需要多大内存
"产品不同,配置、设计理念、适用人群等也是不一样的,各有优势,建议根据需求及喜好选择合适的机型。
如需了解三星产品的详细机型信息,请登陆三星官网-点击右上角放大镜图标输入型号查询"
Ⅷ android系统运行需要多大内存
安卓手机我用过好多,从最早的256M到512M到1G到2G,个人感觉还是2G运行内存的不影响使用,1G的还凑和,再少的话,就非常差了。
Ⅸ 安卓的内存占用
相信不少朋友有这样的疑问,为什么手机4GB运行内存还卡?这到底应该谁背锅?看完这篇文章你就懂了。
2018年,主流品牌的旗舰机运行内存都飙升至了6GB,比如小米MIX2S、荣耀10,甚至连千元机的魅蓝E3也都全系标配6GB运行内存。这一配置升级的背后,反映了手机运行内存占用越来越大。
此前,Android系统的占用不过500MB左右,到现在Android 8.1,系统占用已经达到接近2GB;又比如微信,从一开始的30MB左右,如今已经达到220MB+的运行内存占用了。折算下来,4GB手机平均能常驻后台6个APP,相对而言有些捉襟见肘。因此,现在手机厂商纷纷将运行内存提升至6GB,这样能保证平均常驻大概11个后台。
那么,为什么APP要占用越来越多的运行内存呢?
首先,我们要站在开发者的角度来想。开发者和用户的思维不一样,他们不是努力的想要节省运行内存,而是想着如何利用更多的运行内存,以带来更流畅的体验——这么多运行内存,不用白不用,浪费太可惜。
结果,APP的运行内存占用就越来越大,这也使得常驻后台的APP数量不断减少。而为了给用户带来更流畅的体验,手机厂商们不得不把运行内存不断做大,从1GB到2GB,再到4GB、6GB、8GB。
然而,这又让开发者眼睛都亮了——正愁着怎么在运行内存和运行流畅度上进行平衡,没想到厂商那么好心,直接把运行内存做大了。于是开发者们又开启新一轮的运行内存占用了。
好了,单个APP为什么运行内存占用越来越大,你理解了吗?
但还有个问题,卡顿。有时候,明明只打开了一个APP,却还是有点卡的感觉。于是你就产生了“4GB、6GB运行内存不够用,安卓机必须上顶配”的感觉。那这个问题又要谁背锅呢?
这就要说到整个国内安卓生态了。笔者用的是Pixel 2,运行的是最纯净的Android系统。一段时间的使用下来,笔者印象最深刻的是国内APP的流氓程度,如果不用黑域进行限制,几乎分分钟就爆满运行内存了。
下面这张图,是笔者取消了黑域限制的后果。清空后台之后,隔了一段时间再看,启动了一堆APP,几乎都是国内APP。有些APP以前基本不打开,比如高德地图、京东,自启动情况非常严重。
所以,表面上你打开的是一个APP,其实背后已经运行了无数个APP。这样的情况下,想要不卡顿几乎是不可能的。值得一提的是,这些国内APP几乎都是从Google Play下载的(QQ被Google Play下架),显然流氓并不因审查机制的不同而不同。
这个锅到底谁背?开发者显然已经不是重点了,而是企业的态度问题。常驻后台,APP可以调用更多权限,记录用户更多的信息,并推送广告、消息。但问题是,比如地图APP的使用频率低,它那么积极的常驻后台是为何?对不起,笔者真的只能想到广告。
Ⅹ 安卓系统对内存的需求大小
Android对于内存的要求是越大越好,2000左右的RAM一般都是512M,机子因为是照相所以我推荐
索爱
的。