如何使用DDMS Heap查看Android应用内存情况
作为大四毕业生,而且还是二本,加上技术基础不咋样,找工作自然也是辛酸得很。。。最糟糕的情况就是一开始实在是太小看了求职之路的艰辛,整个9月都是无所事事的度过,直到月底面试腾讯被鄙视后才顿然醒悟,意识到自己目前的处境是多么可怕,马上找了几本面试宝典,整天泡在图书馆。。。但迅雷的笔试将我彻底打败,满满的题目,写得我是一点心情也没有,提前一个小时交卷,关键就是笔试还没开始,就让我们填一份基本情况调查表,非常详细,敏锐的意识到,这次笔试肯定要刷一大批人,果然如此,有幸过了笔试这关的同学跟我说,能去面试的人非常少。。。国庆之前在网上大量海投,凡是搭上边的都投,腾讯一面被刷后,接到一家专门做外包的公司的面试通知,办公环境很好,开发氛围感觉很极客,可惜我从腾讯面试中吸取的教训还不够,没有充分发挥自己的优点,依然被刷。。。腾讯面试中我以为是自己基本功不行,于是恶补基本功,这次面试甚至在讲解的时候亲手写代码,但事实证明,关键的地方是我的出发点是错的。腾讯面试中,是从项目开发中自己对项目的理解出发的,但可惜自己并没有彻底想好这个问题,被抓住痛脚了,一时反应不过来,这次就撇开这个,直接就是整个项目流程,关注的是项目实现细节,但依然失败。。。
这次打击颇大,感觉自己以前做过的东西,学过的东西貌似都没啥用,自己就要失业了。。。国庆后去了一次招聘会,只投了一家,然后没下文了。。。这次是HR面试,但我和她扯技术实现问题,不过采取的是对比式说明,只是谈到界面的设计问题,还亲自解释为啥这样的界面设计会是这么复杂,画图什么的都上阵了,自我介绍还专门讲了个小故事,关于自己是如何虚心好学的。。。接着就是一家物联网公司,这次真的是出乎我意料,我完全省略了自我介绍这些东西,单纯讲一下兴趣爱好而已,笔试的题目也是随便做的,不懂就是不懂,然后在技术面试的时候非常淡定,他问到一点,我就根据这点不断扩展出去,设计模式什么的都搬了出来,优化什么的也拿出来,都是自己这边主动提出来的,他的问题本身是很基础粗显的,整整一个小时的技术面试,不懂的点都是非常爽快的回答不懂,但有给出自己的想法,期间还对自己笔试中没有写的题目进行补充,说明我是如何思考这个问题,但之所以没写,难点是在哪里,我该如何去解决。。。HR的面试也是非常久,一直强调自己的弱点,但都有提出自己的克服方法,隔天他们就发offer过来了,但我有事没有收到,期间还去了一家非常小的公司面试,那时我真的是连死的心都有了。那家公司是在一家民房里面,非常小,开发氛围我也不喜欢,直接就是老板过来面试,没问任何技术性的问题,因为我自己这边也察觉到自己不是他们要的,整个过程我都是面无表情,平淡无奇的应付,结果自然是没有通过。。。
那时是比说好的时间还早了一个小时,但看了工作环境后,我一直没有推门进去,只是站在窗边,想想自己也是只能去找这样的公司过活了,心里很不是滋味。。。
收到那家公司的offer后,我心里的石头终于落下来了,觉得这家公司不错,不想再找了,刚好之前报的一家大公司叫我去笔试,我随便应付,反正我觉得自己是不过的,笔试又是提前一个小时交了,所有的简单题回答得非常简洁,都是一两句话就结束了,但竟然过了!隔天的面试也不想去,被同学拉着去,一个小时半的技术面试,我都是面带微笑,采取同样的政策,但这次不懂的问题回答得非常爽快,“不懂”,毫无拖泥带水,反正自己也是不过的,面试官也给了我一个评语:基础有点薄弱,但学习能力很强,通过的概率不大。然后是HR面试,一个小时,我都是面带微笑的和她聊聊方法学,自然哲学的问题,但这些问题的开端都是从我刚才技术面试中无法回答的问题出发,解释我会以怎样的方式弥补这个差距。。。既然面试官都说我通过的概率不大,我自然也是很轻松的应付,回去继续看书了,一周后,我过了面试。。。
感觉面试什么的都是看RP的,看是否合面试官的眼,当然,自己的表现也是非常重要的,不要太差劲就行。
说回正题,Android默认情况下分配给一个应用程序的内存大小是16M,这对于涉及到大量图片或者后台的应用程序来说,有点吃力,一个不小心,就会出现OOM的问题,所以,要对应用程序运行过程中的内存使用情况进行测试。
可以使用Eclipse DDMS的Heap进行测试。
首先,我们在DDMS的界面的设备选项中找到手机设备,可以看到它里面正在运行的进程:
点一下“Update Heap"图标,然后在Heap选项中查看我们标注的进程的内存使用情况:
点一下"Cause GC", 相当于向虚拟机执行一次GC请求,然后无需再按就可以动态的查看该应用程序的内存使用情况。
最值得关注的就是”data object“的"Total Size",它决定了是否存在内存泄露的危险。一般情况下,它都是固定在一个稳定的数值范围,如果回落非常大,或者该数值非常大,像是3.55后就会被kill掉,说明该应用程序的内存使用情况不佳,代码结构需要优化。
如何使用DDMS Heap查看Android应用内存情况的更多相关文章
- Linux查看CPU和内存情况
本文简单介绍在Linux上查看CPU和内存情况和一款系统资源查看工具htop. 查看CPU情况 以下是个人工作会经常使用到的服务器的信息. 查看所有CPU信息 可以通过如下命令查看所有CPU信息: # ...
- Linux 查看进程消耗内存情况总结
在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗.占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些.在此之前,我们需要了解一下Linux系统下面 ...
- 查看tomcat的内存情况
查看现有tomcat的内存大小情况 1.启动tomcat 2.访问 http://localhost:8080/manager/status ,并输入您在安装tomcat时输入的用户与口令,如 adm ...
- top,ps查看进程使用内存情况
ps -e -o 'pid,comm,args,pcpu,vsz,stime,user,uid' |grep chrome|grep -v grepwatch 'ps -e -o 'pid,comm, ...
- 转:Android开发:使用DDMS Heap进行内存泄露调试
无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方.Android tools中的DDMS就带有一个很不错的内存监测工具Heap,本 ...
- Android 内存监测工具 DDMS --> Heap(转)
DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息.Logcat.广播状态信息.模拟电话呼叫.接收 ...
- Android 内存监测工具 DDMS --> Heap
用 Heap监测应用进程使用内存情况的步骤如下: 1. 启动eclipse后,切换到DDMS透视图,并确认Devices视图.Heap视图都是打开的: 2. 将手机通过USB链接至电脑,链接时需要确认 ...
- android--------Eclipse中ddms heap内存分析工具
无 论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方. Android tools中的DDMS就带有一个很不错的内存监测工具Heap ...
- 内存监测工具 DDMS --> Heap
无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方.Android tools中的DDMS就带有一个很不错的内存监测工具Heap(这 ...
随机推荐
- 用Pomelo 搭建一个简易的推送平台
前言 实际上,个人感觉,pomelo 目前提供的两个默认sioconnector和hybridconnector 使用的协议并不适合用于做手机推送平台,在pomelo的一份公开ppt里面,有提到过, ...
- 安装redis监控
在修改登录中心的时候,数据存储在redis里面,需要对redis进行监控,使用的是Redis-Live 参考文章: http://www.nkrode.com/article/real-time-da ...
- TaskHosting - 开发桌面工具原来还可以这么简单
由来 对于喜欢开发的我经常会写一些小工具,这些小工具多以功能为主,不要求漂亮.个性化的UI.但起码要保证使用方便,因此最基本的功能要有: GUI(图片用户界面) 程序配置的保存与读取(让用户在GUI上 ...
- Android--ColorMatrix改变图片颜色
前言 本篇博客讲解如何通过改变图片像素点RGB的值的方式,在Android中改变图片的颜色.在最后将以一个简单的Demo来作为演示. 本篇博客的主要内容: ColorMatrix 使用ColorMat ...
- Javascript中使用WScript.Shell对象执行.bat文件和cmd命令
WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...
- .net微信公众号开发——群发消息
作者:王先荣 本文将介绍微信公众号开发中用于群发消息的类MassMessage,包括:(1)MassMessage类:(2)群发:(3)删除:(4)预览:(5)查询发送状态:(6)接收推送群发结 ...
- 如何配置ssh免密码登录
[TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...
- floor相关
select floor(@f*0.22) -- 直接可显示结果 create table demo( id ,), id1 int ) select * from demo insert into ...
- Kruskal算法java版
/** * sample Kruskal.java Description: * kruskal算法的思想是找最小边,且每次找到的边不会和以找出来的边形成环路,利用一个一维数组group存放当前顶点所 ...
- 实例详解 DB2 排序监控和调优
实例详解 DB2 排序监控和调优http://automationqa.com/forum.php?mod=viewthread&tid=2882&fromuid=2