Android热门前沿知识相关面试

  • MVC/MVP/MVVM
  • Android插件化
  • Android热更新

MVC模式

  1. MVC定义
    • M:业务逻辑处理
    • V:处理数据显示的部分
    • C:Activity处理用户交互问题
  2. MVC特点
    • 耦合性低
    • 可扩展性好
    • 模块职责划分明确
  3. MVC总结
    • 利用MVC设计模式,使得项目有了很好的可扩展性和维护性
    • controller(控制器)是一个中间桥梁的作用
    • 什么时候适合使用MVC设计模式(适用于大项目,便于模块化)

MVP模式

  1. MVP定义
    • M:依然是业务逻辑和实体模型
    • V:对应于Activity,负责View的绘制以及与用户交互
    • P:负责完成View与Model间的交互

MVVM模式

  • View:对应于Activity和xml,负责View的绘制以及与用户交互
  • Model:实体模型
  • ViewModel:负责完成View与Model间的交互,负责业务逻辑

Android插件化

  1. 插件化的来由
    • 业务增多,代码膨胀,当代码中方法数超过65536的时候,无法再容纳新的方法。
    • 功能模块的解耦,维护团队的的分领。
  2. 插件化要解决的问题
    • 动态加载apk
    • 资源加载
    • 代码加载

Android热更新

  1. 热更新流程
    • 线上检测到严重的crash
    • 拉出bugfix分支并在分支上修复问题
    • jenkins构建和补丁生成
    • app通过推送或主动拉取补丁文件
    • 将bugfix代码合到master上
  2. 主流热更新框架介绍
    • Dexposed
    • AndFix
    • Nuwa
  3. 热更新原理
    • Android类加载机制
      1. PathClassLoader
      2. DexClassLoader
    • 热修复机制
      1. dexElemnets
      2. ClassLoader会遍历这个数组

Android进程保活

  1. android进程的优先级
    • Foreground process
    • Visible process
    • Service process
    • Background process
    • Empty process
  2. android进程的回收策略
    • Low memory killer:通过一些比较复杂的评分机制,对进程进行打分,然后将分数高的进程判定为bad进程,杀死并释放内存。
    • OOM_DOJ:判别进程的优先级
  3. 进程保活方案
    • 利用系统广播拉活
    • 利用系统Service机制拉活
    • 利用Native进程拉活
    • 利用JobScheduler机制拉活
    • 利用账号同步机制拉活

更多相关文章

  1. Android应用程序消息处理机制(Looper、Handler)分析
  2. Android守护进程
  3. Android(安卓)Google Map实例 - 在地图和卫星图之间切换(Android
  4. Android(安卓)Layout机制研究
  5. Android(安卓)应用程序开发基础
  6. android:sharedUserId问题
  7. Android异步消息处理机制 全解析
  8. Android(安卓)Handler消息机制源码分析——第一部分:Looper与Mes
  9. android 的handler 机制

随机推荐

  1. Android原生分享到微博、微信等平台的实
  2. 对Android及移动互联网的大局观看法!
  3. 学习Android的几大主攻方向
  4. Android开发常见异常和解决方案(二)
  5. android makefile(android.mk)分析(序)
  6. Android进程管理简单介绍
  7. 最新的免费android教程,助你深入浅出的轻
  8. Android自定义属性与自定义属性的获取
  9. Android壁纸机制(Android Q与老版本对比)
  10. Android中AsyncTask详解,源码剖析(API 23)