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守护进程
  2. android 的handler 机制
  3. Android的启动过程分析(从进程和Framework的角度)-android学习之
  4. 分析Android 根文件系统启动过程(init守护进程分析)
  5. android开发笔记之 Activity四种加载模式
  6. Android 根文件系统启动过程(init进程 详细分析)
  7. Handler Looper源码解析(Android消息传递机制)
  8. Android 开发艺术探索笔记之十 -- Android 的消息机制

随机推荐

  1. android实习生面经
  2. PHP变量数据类型,变量和常量的定义以及数
  3. 今日报错系列:未定义的SYSTEMTIME
  4. 什么最宝贵呢?
  5. 初识PHP变量与常量
  6. php的变量&常量
  7. HCIA-子网划分
  8. 跟自己的战斗
  9. 很多人已经学会了应对恐惧和焦虑的秘诀
  10. 快乐是一种自发的行动,跟别人无关