当前位置:首页 » 安卓系统 » androidheap大小

androidheap大小

发布时间: 2022-04-29 10:52:35

‘壹’ android系统运行需要多大内存

安卓手机我用过好多,从最早的256M到512M到1G到2G,个人感觉还是2G运行内存的不影响使用,1G的还凑和,再少的话,就非常差了。

‘贰’ android系统大概占多大的内存那

不是的。不知楼主说的是内存卡还是手机内存。首先要说明,卡上说的是8G,实际只能用7G多。因为生产厂家采用1000为单位,而手机读取采用1024未单位,所以有误差。我的android 手机由于有导航,导航占用了1.5G多。实际系统文件只有几百M。

‘叁’ android的ram设置256 VN Heap设置多少好

你还是把ram设置大一点吧,比如512,其他的可以不设置采用默认

‘肆’ android 图片占用内存大小怎么计算

1、将图片转化为缩略图再加载: 代码如下 1 BitmapFactory.Options options = new BitmapFactory.Options(); 2 options.inSampleSize = 2; 3 Bitmap img = BitmapFactory.decodeFile("/sdcard/1.png", options); 该段代码即是读取1.png的缩略图,长度、宽度都只有原图片的1/2。图片大小减少,占用的内存自然也变小了。这么做的弊端是图片质量变差,inSampleSize的值越大,图片的质量就越差。由于各手机厂商缩放图片的算法不同,在不同手机上的缩放图片质量可能会不同。笔者就遭遇过moto手机上图片缩放后质量可以接受,三星手机上同样的缩放比例,质量却差很多的情况。 2、用ARBG_4444颜色模式加载图片: Android中有四种,分别是: ALPHA_8:每个像素占用1byte内存 ARGB_4444:每个像素占用2byte内存 ARGB_8888:每个像素占用4byte内存 RGB_565:每个像素占用2byte内存 Android默认的颜色模式为ARGB_8888,这个颜色模式色彩最细腻,显示质量最高。但同样的,占用的内存也最大。 代码如下 1 BitmapFactory.Options options = new BitmapFactory.Options(); 2 options.inPreferredConfig = Bitmap.Config.ARGB_4444; 3 Bitmap img = BitmapFactory.decodeFile("/sdcard/1.png", options); 以上代码即是将1.png以ARGB_4444模式读出。内存减少虽然不如第一种方法明显,但是对于大多数图片,看不出与ARGB_8888模式有什么差别。不过在读取有渐变效果的图片时,可能有颜色条出现。另外,会影响图片的特效处理。 3、调用图片的recycle()方法: 这个其实不是真正降低图片内存的方法。主要目的是标记图片对象,方便回收图片对象的本地数据。图片对象的本地数据占用的内存最大,而且与程序java部分的内存是分开计算的。所以经常出现Java heap足够使用,而图片发生OutOfMemoryError的情况。在图片不使用时调用该方法,可以有效降低图片本地数据的峰值,从而减少OutOfMemoryError的概率。不过调用了recycle()的图片对象处于“废弃”状态,调用时会造成程序错误。所以在无法保证该图片对象绝对不会被再次调用的情况下,不建议使用该方法。特别要注意已经用setImageBitmap(Bitmap img)方法分配给控件的图片对象,可能会被系统类库调用,造成程序错误。 4、使用Matrix对象放大的图片如何更改颜色模式: 虽然使用Matrix对象放大图片,必定会耗费更多的内存,但有时候也不得不这样做。放大后的图片使用的ARGB_8888颜色模式,就算原图片是ARGB_4444颜色模式也一样,而且没有办法在放大时直接指定颜色模式。可以采用以下办法更改图片颜色模式。 代码如下 Matrix matrix = new Matrix(); float newWidth = 200;//图片放大后的宽度 float newHeight = 300;//图片放大后的长度 matrix.postScale(newWidth / img.getWidth(), newHeight/ img.getHeight()); Bitmap img1 = Bitmap.createBitmap(img, 0, 0, img.getWidth(), img.getHeight(), matrix, true);//得到放大的图片 img2 = img1.(Bitmap.Config.ARGB_4444, false);//得到ARGB_4444颜色模式的图片 img = null; img1 = null; 这里比起原来的图片额外生成了一个图片对象img1。但是系统会自动回收img1,所以实际内存还是减少了。

‘伍’ 有办法降低 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 studio里怎么设置heap size大小呢我的studio一打开最大就才63M.已经占用了50多M了。

http://doublewong.com/2014/increase-android-studio-allocated-heap-size/,请参考这篇帖子

‘柒’ 安卓系统需要占用手机多少内存

android系统占用手机内存的大小随着版本的不同而不同,一般在100-1000m不等。
安卓系统的优化相比于ios和wp要差一些,而且垃圾和碎片问题十分严重,另外安卓相比ios是真后台,如果后台运行很多软件对内存占用是非常高的。

‘捌’ 在android studio中怎么设置heap size

参考如下内容,设置内存的大小:
Android命令行提供setprop和getprop这两个命令来设置Android系统的一些属性,就比如说虚拟机堆内存大小等等。
但这两个命令必须在root权限下设置才能生效,并且必须在root权限下重启shell
操作命令如下:

[cpp] view plain
adb root
adb shell setprop dalvik.vm.heapgrowthlimit 64m
adb shell setprop dalvik.vm.heapsize 192m
adb shell stop
adb shell start
adb shell getprop dalvik.vm.heapsize

‘玖’ 修改android手机的dalvik-heap的大小多少

修改的方法:

1. dalvik.vm.heapgrowthlimit的设置在 /system/build.prop中

2. adb remount / adb pull /system/build.prop

3. 修改build.prop文件,将dalvik.vm.heapgrowthlimit修改后,adb
pull /system/

4. chmod修改build.prop的权限。这里要注意,我开始修改的是chmod 777,后来系统起不来。ll
查看system/下文件权限,发现时744。同理: chmod
744,发现就 OK了。原来权限给高了还不行。

‘拾’ android系统严格规定了每个应用所能分配的最大的内存为多少

Android应用程序的默认最大内存值为16M,不同的手机版本和型号有所不同(我的三星galaxy s3的是256M)

Android应用程序的默认最大内存值

有些应用程序可能会出现内存溢出,譬如:

ERROR/AndroidRuntime(264): java.lang.OutOfMemoryError: bitmap size exceeds VM budget

除了要检查修正代码之外,还可以考虑修改Android应用程序的默认最大内存值。

热点内容
c语言数组的删除 发布:2024-05-06 20:52:33 浏览:397
机械战警用什么配置好看 发布:2024-05-06 20:27:12 浏览:435
win10添加python环境变量 发布:2024-05-06 20:27:12 浏览:313
并联臂算法 发布:2024-05-06 20:02:11 浏览:623
cf跟dnf哪个需求配置高 发布:2024-05-06 20:01:23 浏览:657
什么配置皮筋能打老鼠吗 发布:2024-05-06 19:54:32 浏览:742
压缩机油压差报警 发布:2024-05-06 19:45:08 浏览:336
打游戏脚本好不好 发布:2024-05-06 19:44:00 浏览:235
七日杀如何转移服务器 发布:2024-05-06 19:43:04 浏览:429
唐plusdmi买哪个配置 发布:2024-05-06 19:36:48 浏览:148