如何查看android 用于bitmap的内存大小 android手机经常报out of memory错误。我知道每一个进程有一个用于bitmap解析的内存限制,如果解析的bitmap超过这个大小就会报错。我们如何知道这个内存值是多少,以及使用过程中剩余多少?我知道程序内部可能出现了bitmap内存泄露,所以我想通过这个办法来跟进一下,bitmap的内存是在什么地方被消耗了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Runtime.getRuntime().maxMemory() ; 进程可用总的内存大小 Runtime.getRuntime().totalMemory() ; 进程已用的内存大小 totalMemory超过maxMemory时就会包报out of memory错误。 可以手动new byte[1024*1024*1];申请1M内存,再打印看看这两个值。 用DDMS的内存监测工具Heap 试试。 检查 Bitmap.recycle()的地方有没有异常。 我打印了一下maxMemory=16777216,totalMemory=3153888但是我用ddms的进程查看器,VM size 为138852,这个和totalMemory之间是怎么一样关系? 这个ms关系不大,cat /proc/pid/status 可以看到VM size 单位是KB,是该进程的虚拟内存大小。你应用不能超过16M大小 超过了就报错了 你可以修改这个大小的,root之后修改/system/build.prop这个文件的dalvik.vm.heapsize android 一个进程就虚拟机吧VM虚拟内存大小和进程占有内存大小不一样吗 VM size 是分配给虚拟机的虚拟内存空间,这个值只要比maxMemory大些就可以了 totalMemory()表示调用时刻,java虚拟机现在已经从操作系统那里获取来的内存大小。在java程序运行的过程的,内存总是慢慢的从操作系统那里取的,基本上是用多少取多少。 但是java虚拟机100%的情况下是会稍微多取一点的。嗯。android Runtime类中有freememory() 、totalmemory()、和maxmemory()等方法可以打印出信息VM内存使用量。 用 Options 解决这个问题http://www.qianxk.com/forum.php 你们的回答 其实 跟楼主问的 完全 没关系 ,bitmapFactory 单独的 内存如何查看呢? 我找到了一个方法 楼主 可以试一下 long allocNativeHeap = Debug.getNativeHeapAllocatedSize()/1024; 从没遇到的问题,装不了SDK,试了几天啦,还是不行, 怎样在 指定的日子 运行1个程序 android 截屏问题 几个android本科毕业设计选题的技术要点分析。 ListView 的 id 问题 利用AIDL传输类遇到的问题。 不通过点击按键如何弹出系统菜单? android利用声音测距离 android imageview图片显示错乱 三星note3 如何自定义JieCaoVedio的UI? java中,截取字符,并取对应的值的问题,在线等 如何获取硬件驱动信息?
Runtime.getRuntime().totalMemory() ; 进程已用的内存大小
totalMemory超过maxMemory时就会包报out of memory错误。 可以手动new byte[1024*1024*1];申请1M内存,再打印看看这两个值。
但是我用ddms的进程查看器,VM size 为138852,这个和totalMemory之间是怎么一样关系?
VM虚拟内存大小和进程占有内存大小不一样吗
http://www.qianxk.com/forum.php