android调试方法-强烈推荐

android调试方法-强烈推荐

ID:42603327

大小:224.09 KB

页数:22页

时间:2019-09-18

android调试方法-强烈推荐_第1页
android调试方法-强烈推荐_第2页
android调试方法-强烈推荐_第3页
android调试方法-强烈推荐_第4页
android调试方法-强烈推荐_第5页
资源描述:

《android调试方法-强烈推荐》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Android系统debug经验总结姓名:_____胡清河_______部门:_____智能驱动_______日期:_____2012.11.17_______修订历史记录日期版本说明作者2012-11-19V1.0胡清河目录一.引言………………………………………………………………………………………………………………………..3二.常用查看系统状态和内存命令……………………………………………………………………………..3三.ANR…………………………………………………………………………………………………………………………7四.CRA

2、SH…………………………………………………………………………………………………………………….12五.MemoryAnalyer定位内存泄漏……………………………………………………………………………..14六.动态库死机调试方法……………………………………………………………………………………………..14七.Oops问题的调试和定位………………………………………………………………………………………..17一.引言Android系统是以linux内核为基础的一个框架,其实本质上就是一个linux操作系统,所以掌握linux系统对分析和

3、调试android一些死机和重启问题致关重要,下面是本人常用的一些分析方法,和大家共享.一起进步,享受美好生活,是我们每天所追求的.二.常用查看系统状态和内存命令1.cat/proc/meminfo查看系统内存信息,剩余内存=MemFree+Buffers+CachedAndroid系统中杀程序的这个刽子手被称作"LowMemoryKiller",它是在Linux内核中实现的。这里它实现了一个机制,由程序的重要性来决定杀谁。通俗来说,谁不干活,先杀谁。Android将程序的重要性分成以下几类,按照重要性依次降低的顺序,可分为以下几种

4、进程:名称Oom_adj解释Foregroundapp0前台程序Visibleapp1用户可见的程序Secondaryapp2后台服务,比如播放音乐Hiddenapp7后台被隐藏的程序Conentapp14Contentprovider提供进程Emptyapp15空进程其中每个程序都会有一个oom_adj值,这个值越小,程序越重要,被杀的可能性越低。系统将根据剩余内存依次杀掉oom_odj高的进程来回收内存。有时候杀进程太频繁会引起ANR,因为杀进程引起的进程调度,进程上下文切换是需要很大开销的.2.Procrank查看系统中各进程

5、内存占用情况•VSS-VirtualSetSize虚拟耗用内存(包含共享库占用的内存)•RSS-ResidentSetSize实际使用物理内存(包含共享库占用的内存)•PSS-ProportionalSetSize实际使用的物理内存(比例分配共享库占用的内存)•USS-UniqueSetSize进程独自占用的物理内存(不包含共享库占用的内存)一般来说内存占用大小有如下规律:VSS>=RSS>=PSS>=USSUSS才是进程真正占用内存的大小.定位某个应用内存泄漏时可用此命令观察。另外一个常用的命令是dumpsysdumpsysmem

6、infodump所有进程占用内存详细信息dumpsysmeminfo–dpiddump某个进程占用内存详细信息1.top可以查看进程或线程cpu占用率排名。用这个命令可以很快发现系统中是否存在死循环,cpu占用率高的进程/线程,快速定位到发生问题地方。top-m12查看cpu占用率前12的进程top-t–m12查看cpu占用率前12的线程1.vmstatvmstat是一个查看虚拟内存(VirtualMemory)使用状况的工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps,上下文切换数及CPU活动的信息

7、.用这个命令可以观察底层中断是否正常,比如在触摸屏按下的时候,应该会产生大量中断,看这个数目是否和正常时一样。Vmstat–d1,每隔一秒种打印出系统信息,包括以下信息:进程  r:运行队列中进程数量  b:等待IO的进程数量  Memory(内存):  swpd:使用虚拟内存大小  free:可用内存大小  buff:用作缓冲的内存大小swap  cache:用作缓存的内存大小  si:每秒从交换区写到内存的大小  so:每秒写入交换区的内存大小  IO:(现在的Linux版本块的大小为1024bytes)  bi:每秒读取的块数

8、  bo:每秒写入的块数  in:每秒中断数,包括时钟中断。系统  cs:每秒上下文切换数。  CPU(以百分比表示):  us:用户进程执行时间(usertime)  sy:系统进程执行时间(systemtime)  id:空闲时间

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。