极客时间Android高级开发教程笔记

2019-09-29  本文已影响0人  过期的薯条

1.引言

最近买了张绍文老师的安卓课程,没学习一章总有种拓展了自己知识的感觉,但是运用到实际工作中显得懵逼,索性本着了解的心态看看,记录下一些一些知识。张老师的课程链接:https://time.geekbang.org/column/article/70966

2.正题

应用崩溃有下面几种情况

3. 内存优化

4. 卡顿问题分析

卡顿问题最终都是反应在cpu上。通过以下命令可以快速看出那个线程cpu占用:

/proc/[pid]/stat             // 进程 CPU 使用情况
/proc/[pid]/task/[tid]/stat  // 进程下面各个线程的 CPU 使用情况
/proc/[pid]/sched            // 进程 CPU 调度相关
/proc/loadavg                // 系统平均负载,uptime 命令对应文件

卡顿分析工具:

Traceview,Nanoscope,Systrace,Simpleperf

5.卡顿监控

1.线程数量。需要监控线程数量的多少,以及创建线程的方式。例如有没有使用我们特有的线程池,这块可以通过 got hook 线程的 nativeCreate() 函数。主要用于进行线程收敛,也就是减少线程数量
2.线程时间。监控线程的用户时间 utime、系统时间 stime 和优先级。主要是看哪些线程 utime+stime 时间比较多,占用了过多的 CPU

上一篇 下一篇

猜你喜欢

热点阅读