Android Activity

Activity

生命周期&启动模式

  1. onStart 在后台不显示出来,其实也是可见 我们看不到。
  2. onResume在前台显示出来,这时候真正可见。
  3. 新的Activity用的是透明主题,则跳转的Activity 不会进onStop。
  4. back 键会onPause->onStop->onDestory。
  5. 后台Activity 优先级比较低,容易因为内存不够(Low Memory Kill)导致被杀死。需要放到Service 中。
  6. SingleTop(不干掉上面的)和SingleTask(干掉上面的)会在第二次被调用之后 会走onNewIntent 方法。此时不会走onCreate /onStart。
  7. Intent Flag 启动模式
    • NEW_TASK 新起一个task来启动activity 一般运作于service 中启动activity。
    • SINGLE_TOP 和 CLEAR_TOP和 分别和SingleTop 和SingleTask一样。
    • NO_HISTORY 启动之后这个activity就消失了,不会存在于Task中。
  8. AB A onPause B onCreate ->onStart->onResume A onStop 这也就是为什么在onPause中做一些简单操作的原因了,他会导致下一个页面的启动卡顿,白屏。实质上四次IPC:
  • 当前Activity发起启动另一个Activity的请求——>ActivityManagerService
  • ActivityManagerService——> 通知App暂停当前Activity
  • 当前App告知已经暂停了当前的Activity——> ActivityManagerService
  • ActivityManagerService ——> 通知App启动新的Activity

启动流程

  • 这里不塞过多的源码 来一张经典图
    Android Activity_第1张图片
    activity启动流程.png

    附上一篇我觉得写的比较可以得文章:https://www.jianshu.com/p/13b07beacb1f
    通读几遍之后 ,大约就是c /s 互相找代理 然后IPC进行操作
  • 如何走到onCreate()方法 这里还是画图来说,因为写一大段文字 ,以后自己会忘,但是看到自己画的图,以后能很快想起来这一块是什么样子:


    Android Activity_第2张图片
    activity的入口启动.png

你可能感兴趣的:(Android Activity)