
Android性能优化
文章平均质量分 93
Icarus_
会一点Android
展开
-
Android性能分析与优化学习(六)线程优化
一 、Android线程调度原理剖析 1、线程调度原理 任意时刻,只有一个线程占用CPU,处于运行状态 多线程并发:轮流获取cpu使用权 JVM负责线程调度:按照特定机制分配CPU使用权 线程调度模型 分时调度模型:轮流获取、均匀分配cpu时间 抢占式调度模型:优先级高的获取,JVM采用 2、Android线程调度 (1)nice值 Process中定义 值越小,优先级越高 默认是Process.THREAD_PRIORITY_DEFAULT,0 问题:只有nice值并不足够,例如app又一个前台的U原创 2021-08-10 10:31:13 · 595 阅读 · 0 评论 -
Android性能分析与优化学习(五)卡顿优化
一 、卡顿介绍及优化工具选择 对用户来说:很多性能问题不易被发现,但是卡顿很容易被直观感受 对开发者来说:卡顿问题难以定位 卡顿问题难在哪里: 产生的原因错综复杂:代码、内存、绘制、IO? 不易复现:与用户当时场景相关 1、CPU Profiler 图形的形式展示执行时间、调用栈等,信息全面,包含所有线程 运行时开销严重,整体都会变慢 使用方式 Debug.startMethodTracing(“文件名”);//使用 Debug.stopMethodTracing();//结束 生成文件在sd卡:Andr原创 2021-08-10 09:52:43 · 573 阅读 · 0 评论 -
Android性能分析与优化学习(四)布局优化
一、绘制原理 cpu负责计算显示内容 GPU负责棚格化(UI元素绘制到屏幕上) 16ms发出VSync信号触发UI渲染 大多数的Android设备屏幕刷新频率:60Hz 二、优化工具 (1)Systrace a) 关注Frames b) 正常:绿色原点,丢帧:黄色或红色 c) Alerts栏 (2)Layout Inspector a)AndroidStudio自带工具 b)查看视图层次结构 (3)Choreographer a)是一个类库,android自带的。 b)可以获取FPS,具备实时性 c)可原创 2021-08-06 15:48:56 · 268 阅读 · 0 评论 -
Android性能分析与优化学习(一)App性能概览与平台化实践
一、性能优化有哪些难题 1、性能表现差 app 启动慢,卡顿,丢帧等 内存占用高,抖动频繁 耗电,网络请求慢 崩溃率,异常率高 2、线上问题无从追查 如何保证异常感知灵敏度 如何复原案发现场 如何快速止血成功 3、性能优化的长期开销大 如何扼杀问题与萌芽 优化效果如何长期保持 4、总结 性能表现好 线上问题容易追查 长期投入小 二、app性能优化解决方案演进 1、项目初期 堆加功...原创 2019-12-26 09:35:47 · 320 阅读 · 0 评论 -
Android性能分析与优化学习(二) App启动优化
一、App启动优化介绍 1、背景介绍 第一体验 八秒定律 2、启动分类 冷启动 耗时最多,衡量标准 ClickEvent -> IPC -> Process.start ->ActivityThread(单独app进程入口类) ->bindApplication(通过反射创建Application以及调用与Application相关的生命周期) ->Lif...原创 2019-12-26 09:37:54 · 423 阅读 · 0 评论 -
Android性能分析与优化学习(三) App内存优化
1、内存问题 内存抖动:锯齿状,GC导致卡顿 内存泄漏:可用内存减少,频繁GC 内存溢出:OOM、程序异常 2、工具选择 Memory Profiler 实时图表展示应用内存使用量,识别内存泄露,抖动等,提供捕获堆转储、强制GC以及跟踪内存分配的能力 Memory Analyzer 强大的Java Heap分析工具,查找内存泄漏及内存占用,,生成整体报告,分析问题等,线下深入使用 LeakC...原创 2021-08-05 16:52:49 · 347 阅读 · 0 评论