话分两头:
第一:从RecentApp界面被划掉后,系统做了什么:
系统将这个应用的UI线程杀死,并将此应用当前所分配的内存空间回收。
第二:为什么系统将UI线程杀死,将内存回收后,程序还能继续工作?比如音乐还在继续响起:
这是因为有一类应用,为了当用户将此应用的界面调到后台后,仍然是可以工作,这些应用都会在后台开一个Service,你可以理解为一个区别于UI线程的另一个线程,它可以独立于UI线程之外,当UI线程被挂起或者销毁时,它可以接替UI线程的工作,让程序员继续work。所以,为什么有时候程序被从Recent列表中删除后,程序没有停止,这里的停止,实质上是程序的某一功能没有停止,比如音乐,而此时的程序UI界面以及其它无关的内存已经被告系统回收了。
第三:如何让自己的应用不出现在Recent列表里:
作者:Ja ck
链接:
https://www.zhihu.com/question/23748025/answer/25589980来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。