定义:
当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动。
特点:
热启动因为会从已有的进程中来启动,所以热启动就不会走Application这步了,而是直接走MainActivity(包括一系列的测量、布局、绘制),所以热启动的过程只需要创建和初始化一个MainActivity就行了,而不必创建和初始化Application,
因为一个应用从新进程的创建到进程的销毁,Application只会初始化一次。
在启动页
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isTaskRoot()) {
finish();
return;
}
setContentView(R.layout.activity_splash);
}
找到主Activity,即一般的MainActivity,在类中添加:
即检查到用户点按返回键要退出到桌面时,不让activity被finish掉,而是调用moveTaskToBack(true)将activity移到后台,方便下次开启应用时,直接进入此界面。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN)
{
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}

博客介绍了应用热启动的定义,即启动已有进程的应用。其特点是无需创建和初始化Application,直接走MainActivity。还提到在启动页的处理,当用户按返回键时,调用moveTaskToBack(true)将activity移到后台,便于下次开启应用直接进入。
352

被折叠的 条评论
为什么被折叠?



