在Android上的应用程序切换期间会发生什么?

时间:2013-01-09 13:18:24

标签: android memory-management

E.g。当我从App A 切换到App B 时,我认为应用 A 将成为“缓存的后台进程”。这是否意味着App A 使用的内存被复制到“磁盘(SD卡)”? A 占用的内存是否可供其他应用使用?

此外,当我切换回来时,如何恢复应用 A ?什么导致恢复延迟?如果有的话?

1 个答案:

答案 0 :(得分:1)

只要Android将其留在那里,App A就会留在内存中。如果要通过此转换指导应用程序功能,则需要覆盖OnPause()和OnResume()。 例如

    @Override
    protected void onPause(){
    // YOUR CODE HERE
    super.onPause();
    }

    @Override
    protected void onResume(){
    // YOUR CODE HERE
    super.onResume();
    }

当你按下主页按钮,拨打电话等时会抛出暂停状态,它会让你有机会停止你的线程(告诉你的应用程序停止工作)并在失去焦点之前做任何事情。现在不是保存数据的好时机,因为这可能需要很长时间,用户会希望应用程序立即消失。

再次打开应用程序时会抛出OnResume,这是您再次启动线程的地方(告诉您的应用程序开始工作)