优化工具 关注 Frames 行:正常绿色,丢帧黄色或红色 关注 Alerts 栏:自动分析性能问题的一些条目 ...
获取界面布局耗时
发表于
分类于
Android
常规方式 复写方法、手动埋点 AOP/Art Hook实现 通过 hook setContentView 来优雅的实现布局耗时 ...
获取帧率
发表于
分类于
Android
获取帧率
参考:android.view.ViewRootImpl#draw
里的 trackFPS
1 | public class FpsCounter { |
内存优化
发表于
分类于
Android
内存优化 意义:减少因为频繁GC导致的卡顿,减少因为内存占用应用存活率降低 内存问题 内存抖动:表现为内存锯齿状,频繁GC,导致卡顿 内存泄露:可用内存减少,频繁GC 内存溢出:OOM、程序异常 ...
dump 内存的几种方式
发表于
分类于
Android
dump 内存的几种方式 获取内存文件 ...
Leakcanary
发表于
分类于
Android
如何初始化 通过ContentProvider自动初始化并注册相应的默认监控类型 默认的监控类型有: 1. Activity:在onDestory时观察 2. Fragment:在onViewDestory时观察内部View,在onDestory时观察Fragment 3. RootView:在Detached时观察 4. Service:在onDestory时观察 ...
Memory Analyzer
发表于
分类于
Android
俗称MAT,强大的 Java Heap 分析工具,较于 Memory Profiler 更适合查找内存泄漏及内存占用 建议线下深入使用 ...
Memory Profiler
发表于
分类于
Android
实时图表展示应用内存使用量,可以很直观的识别出内存抖动 提供捕获堆存储、强制GC以及跟踪内存分配的能力 ...
启动优化
发表于
分类于
Android
相关任务: 冷启动之前 1. 启动`app` 2. 加载空白`Window` 3. 创建进程 随后任务 1. 创建`Application` 2. 创建主线程 3. 创建`MainActivity` 绘制任务 1. 加载布局 2. 布置屏幕 3. 首帧绘制 ...
监控 GC
发表于
分类于
Android
监控 GC 参考:com.android.internal.os.BinderInternal 里的监控 GC 操作 ...