Activity面试详解

  1. activity生命周期
  2. android任务栈
  3. activity启动模式
  4. scheme跳转协议

activity生命周期

  1. activity的4种状态
    • running(activity处于栈顶,可以被用户点击等操作)
    • paused(activity失去焦点,被一个非全屏的activity占据等)
    • stoped(activity被另一个activity完全覆盖,不可见)
    • killed(activity被系统回收掉了)
  2. activity的生命周期
  3. activity生命周期分析
    • Activity启动->onCreate()->onStart()->onResume()
    • 点击Home键回到主界面(Activity不可见)->onPause()->onStop()
    • 当我们再次回到原Activity时->onRestart()->onStart()->onResume()
    • 退出当前Activity时->onPause()->onStop()->onDestroy()
  4. android进程优先级
    前台/可见/服务/后台/空

android任务栈

一个app当中可以有多个任务栈,任务栈是存放activity的,后进先出

activity启动模式

  1. standard(标准的启动模式)
  2. singletop(栈顶复用启动模式:检测栈顶是否存在启动的activity)
  3. singletask(栈内复用模式:检测栈内是否存在启动的activity,存在直接将activity直接置于栈顶,此activity以上的activity都将被移除)
  4. singleinstance(activity有且只有一个实例,且独享一个任务栈,用的少)

scheme跳转协议

android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面。通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。

更多相关文章

  1. Activity之launchMode(运行模式)
  2. Android7.0启动SystemServer进程
  3. Android(安卓)AAC模式,该与 MVP 分手了!
  4. 优化 Android(安卓)Studio 启动、编译、运行速度的方法
  5. android中实现返回首页功能
  6. 彻底解决andorid h5交互!浅谈h5交互和js注入漏洞分析
  7. Android(安卓)框架启动流程
  8. android 蓝牙模块相关的一些知识了解
  9. android 设计模式

随机推荐

  1. linux运维必会MySQL企业面试题
  2. mysql 中使用聚合函数sum()后出现很长的
  3. mysql学习--1.事务
  4. 获取喜欢和评论的帖子 - 一个查询?
  5. MySQL修改表结构操作命令总结
  6. error while loading shared libraries:
  7. mysql事务的默认隔离级别
  8. Linux安装MySQL的两种方法 先卸载之前版
  9. Mysql5.7下的三种循环
  10. Mysql存储过程、索引