Android开发艺术笔记

一.Activity 生命周期与启动模式

  • 1.1 正常下的生命周期
    • 1.onCreate
    • 2.onRestart -> onStart
      从不可见到可见
    • 3.onStart
      从不可见到可见
    • 4.onResume
      从可见到可交互,
      onStart的时候Activity还在后台,onResume的时候Activity才到前台
    • onPause
      存储状态(数据),轻量级回收
      因为当新的Activity要启动时候,会先调用旧的Activity的onPause后再启动新Activity的onPause
    • onStop
      即将变为不可见,重量级回收
    • onDestroy
      表示Activity被销毁,做资源释放
    • 注意:
      如果新Activity采用透明主题,当前Activity不会调用onStop
  • 1.2 异常下的生命周期
    • 1.原因
      当系统资源不足或者配置发生改变的时候
    • 2.当Activity被杀死重建后
      被杀死Activity为A 新Activity为B (以下都采用A B代替)
      调用方法 A.onSaveInstanceState() -> B.onRestoreInstanceState()
      官方推荐 在onRestoreInstanceState 中恢复Activity的状态
      同时,正常情况下不会调用 onRestoreInstanceState
    • 3.原理
      当Activity被意外杀死时,调用onSaveInstanceState()保存数据,
      然后委托Window去保存数据,Window再拜托顶级容器,顶级容器再拜托子元素保存
    • 4.当内存不足导致Activity被杀死
      当内存不足时会按照:
      1.前台Activity 2.可见非前台 3.后台的顺序杀死Activity 回收资源
      所以,后台工作尽量放在Service中运行.

你可能感兴趣的:(Android开发艺术笔记)