zoukankan      html  css  js  c++  java
  • The behavior of App killed or restored by Android System or by users

    What's the behavior of App killed or restored by Android System or by users?


    First, user kills the app by swiping out the screen

    The DEMO process is killed and activity stack is cleared. And the system will relaunch the DEMO process automatically.  When user launch the app, it will just likes user taps App icon in home screen.

    Second, user force to stop the app on the app information page

    The DEMO process is killed and activity stack is cleared. When user launches the app,  it will just likes user taps App icon in home screen.

    Third,Killed/restored by system when there’s insufficient memory.

    Two behaviours,

    1. If DEMO app is running in background (press home button to move DEMO task to background).

     For example, go to about -> what’s new , stay in what’s new screen, then press the home menu to move DEMO app to background, the activity stack is:

     TaskRecord{671c710 #129 A=com.demo.android U=0sz=3}

            Run #7: ActivityRecord{1f2503f6 u0com.demo.android/.whatsnew.WhatsNewActivity t129}

            Run #6: ActivityRecord{10cbd46 u0com.demo.android/.settings.About t129}

            Run #5: ActivityRecord{867b18f u0com.demo.android/.main t129}

    Then kill the DEMO process, system will relaunch the DEMO process automatically, but the activity stack does not be restored, the task record is empty,

    TaskRecord{671c710 #129 A=com.demo.android U=0 sz=3}

    Then  relaunch the DEMO app from launcher, the task record is:

         TaskRecord{671c710 #129 A=com.demo.android U=0 sz=4}

            Run #5: ActivityRecord{229cb1f7 u0com.demo.android/.main t129}

         

    We see here system will launch the root activity (main)instead of keep the last activity (WhatsNewActivity). 


    2. If DEMO app is running, and switch to other app from notification. 

    Follow the same flow of case 1. Keep in what’s new screen:

    TaskRecord{671c710 #129 A=com.demo.android U=0 sz=3}

            Run #7: ActivityRecord{69eb835 u0com.demo.android/.whatsnew.WhatsNewActivity t129}

            Run #6: ActivityRecord{2ca853c5 u0com.demo.android/.settings.About t129}

            Run #5: ActivityRecord{867b18f u0com.demo.android/.main t129}

    Kill DEMO app, system will relaunch the demo process automatically.Press back key to return DEMO app.

    TaskRecord{671c710 #129 A=com.demo .android U=0 sz=3}

            Run #5: ActivityRecord{69eb835 u0com.demo.android/.whatsnew.WhatsNewActivity t129}

    We see here we still stay in the What’s new screen, press back will back to about screen. System will restore the activity stack. However,because the new process lose all global data, such as auth status, and otherdata in memory, so the DEMO will be in a wrong status. 

    Finally,I trigger the scenario  "system is lack of memory", and we can learn that  Both UI process and Service process of DEMO app killed /restored bysystem when in low memory, and the activity stack will be empty, once it restored by system, it just likes user taps demo app icon in home screen.




  • 相关阅读:
    特征词选择算法对文本分类准确率的影响(前言)
    答火星人.NET。如何使用我的本科毕业程序 正文提取DEMO
    有关matlab画图格式的部分代码
    文本分类中的特征词选择算法系列科普(前言AND 一)
    c++杂项备忘
    写一点应用关于 Lucene.Net,snowball的重新组装(一)在Lucene.Net中加入词性标注与词根还原功能
    C++字符串处理:批量去重,以及大写变小写
    Python打印到文件
    中文分词:采用二元词图以及viterbi算法(三)
    博客园和百度空间,我的两个家
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7063911.html
Copyright © 2011-2022 走看看