5月29日 23:47
Android 性能优化怎么做?常用工具有哪些?
Android 性能优化先看指标,再动代码。常见方向是启动、卡顿、内存、网络、电量和包体积;常用工具是 Android Profiler、Perfetto/Systrace、Layout Inspector、GPU Overdraw、LeakCanary、StrictMode、Battery Historian。不要凭感觉优化,先抓 trace、heap dump 或线上监控数据,定位瓶颈后再改。
追问
卡顿一般怎么排查?
先看主线程是否超过 16ms,抓 Perfetto 或 System Trace,重点看 UI Thread、RenderThread、Choreographer、GC 和锁等待。常见原因是主线程 IO、布局太深、频繁创建对象、RecyclerView 绑定太重。
内存优化主要看什么?
看泄漏和峰值。LeakCanary 适合开发期发现 Activity、Fragment、View 泄漏;Android Profiler 和 heap dump 用来查大对象、Bitmap、集合缓存是否失控。图片要按需采样,缓存要有上限。
启动优化怎么做?
区分冷启动、温启动、热启动。Application 里只放必要初始化,非关键 SDK 延迟或异步;首屏数据和布局尽量轻,启动耗时用 Startup Timing、Perfetto 或线上 APM 看。
网络和电量怎么优化?
网络上减少请求次数、启用缓存和压缩、合并接口;电量上少用常驻后台服务,周期任务交给 WorkManager,并设置网络、电量等约束。
写段代码
kotlinval request = PeriodicWorkRequestBuilder<SyncWorker>(1, TimeUnit.HOURS) .setConstraints( Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) .setRequiresBatteryNotLow(true) .build() ).build()