Android面试题大全-性能优化篇

题库汇总目录 https://www.jianshu.com/p/172d63e0744a

Android大厂高频面试题目,所有题目都是来自于一线大厂真题,题目还会继续填充,答案正在完善中....
一、Android基础篇
二、Java基础篇
三、数据结构篇
四、高并发篇
五、性能优化篇
六、计算机网络篇
七、设计模式篇
八、编程/算法篇
九、开源代码篇
十、其他技术篇
十一、项目篇
十二、开放性题目篇
十三、HR篇


性能优化篇

包体积

  • 包体积优化
    1.删除无用资源
    2.图片只保存一份
    3.资源下沉,上层业务只使用一份
    4.开启代码混淆、优化代码混淆
    5.图片压缩
    6.资源混淆,微信的资源混淆工具
    7.zip压缩
    8.so静态链接转动态链接。
    9.搬,将大文件进行远程下载
    10.监控:图片过大、体积过大、无用资源。

内存优化

  • 内存泄漏的检测
  • 内存泄漏出现的场景
  • 内存泄露的本质原因
    长生命周期对象引用短生命周期对象
  • 什么是内存抖动
    不断创建和回收重复对象,导致系统频繁GC,而GC会引起主线程阻塞,最终导致UI卡顿
  • 不用Leatcanary怎么分析内存泄露
  • 如果要加载一个大图片如何优化
    1.缩放比例
    2.采样率
    3.解码格式
    4.lrucache

布局绘制

  • 布局优化的几个方法
    1.减少嵌套层级使用 include、merge和viewstub等标签
  • 减少重复绘制
    1.减少不必要的背景
    2.widow设置空背景
    3.clipRect方法设置绘画区域
  • viewstub 可以重复加载吗
    不能,只能inflate一次
  • 绘制优化(不要在onDraw方法里面创建新的对象)
  • 影响feed流体验的关键指标,如何优化
  • 如何优化fps

网络优化

  • 网络优化:https://www.jianshu.com/p/8301af3a2902
    1.优化数据结构,压缩数据
    2.根据业务合并/拆分请求
    3.根据屏幕密度下发不同size的图片
    4.dns缓存,缓存多个域名对应的缓存,减少解析频率
    5.根据网络状态下发不同size的图片
    6.根据网络状态动态调整轮训频率
    7.列表数据分页加载

启动速度优化

  • 启动速度优化
    1.延迟初始化
    2.耗时操作开线程
    3.设置主题背景,防止黑屏

卡顿优化

参考材料
Android-ANR总结原理分析
Android ANR:原理分析及解决办法

  • cpu占用过大怎么排查
  • ANR是怎么发生的,如何排查
    1.5S内无法响应用户输入事件
    2.广播在10s内没处理结束
  • trace文件内容和如何生成
  • 如果一个list中加载了很多图片怎么优化

你可能感兴趣的:(Android面试题大全-性能优化篇)