Activity是Android中最重要、最基础的组件,用户在界面上看到的一个个可以切换的屏幕界面就是Android中的Activity。
1:运行Activity的情景:当一个Activity被启动时,Activity中的onCreate()、onStart()和onResume()这3个方法被依次调用,Activity对应的界面出现在屏幕上。
2:Activity被“覆盖”的情景:Android的Activity一般都占据一个完整的屏幕,从当前Activity启动另外一个Activity时,另一个Activity将被启动到前台(Foreground),当前Activity转入后台(Background),这时Activity的onPasuse()方法将被调用,Activity转入后台运行。如果Activity变为不可见,还将调用onStop()方法。在转入后台时,onStop()是否被调用取决于Activity是否被完全覆盖,在新的Activity有透明部分时,转入后台的Activity依然“可见”,其他情况下(较多数的情况)Activity均进入不可见状态(被完全覆盖)。
3:Activity被恢复的情景:当界面上最前面的Activity退出后,它所覆盖的Activity将被恢复,这时onResume()方法将被调用,Activity重新转入前台运行。
4:Activity完全退出的情景:当使用回退(Back)按钮退出Activity时,onDestroy()方法将被调用,Activity关闭。如果系统缺少内存时,也会杀死(kill)后台的Activity,其中优先杀死不可见的Activity,可见的Activity一般不会被杀死。
Service可以长时间运行,它的特点是没有可视化界面
1:使用StartService运行Service的情景:使用这种方法启动Service,Service的onCreate()和onStart()这两个方法将被调用,Service会在后台运行直到退出,Service退出时将调用onDestroy()方法。:
2:使用bindService运行Service的情景:使用这种方法启动服务,调用者(也就是Service的客户端)将获得和Service交互的类,通过其调用时Service的相关内容会处于活动状态。
1:运行Activity的情景:当一个Activity被启动时,Activity中的onCreate()、onStart()和onResume()这3个方法被依次调用,Activity对应的界面出现在屏幕上。
2:Activity被“覆盖”的情景:Android的Activity一般都占据一个完整的屏幕,从当前Activity启动另外一个Activity时,另一个Activity将被启动到前台(Foreground),当前Activity转入后台(Background),这时Activity的onPasuse()方法将被调用,Activity转入后台运行。如果Activity变为不可见,还将调用onStop()方法。在转入后台时,onStop()是否被调用取决于Activity是否被完全覆盖,在新的Activity有透明部分时,转入后台的Activity依然“可见”,其他情况下(较多数的情况)Activity均进入不可见状态(被完全覆盖)。
3:Activity被恢复的情景:当界面上最前面的Activity退出后,它所覆盖的Activity将被恢复,这时onResume()方法将被调用,Activity重新转入前台运行。
4:Activity完全退出的情景:当使用回退(Back)按钮退出Activity时,onDestroy()方法将被调用,Activity关闭。如果系统缺少内存时,也会杀死(kill)后台的Activity,其中优先杀死不可见的Activity,可见的Activity一般不会被杀死。
Service可以长时间运行,它的特点是没有可视化界面
1:使用StartService运行Service的情景:使用这种方法启动Service,Service的onCreate()和onStart()这两个方法将被调用,Service会在后台运行直到退出,Service退出时将调用onDestroy()方法。:
2:使用bindService运行Service的情景:使用这种方法启动服务,调用者(也就是Service的客户端)将获得和Service交互的类,通过其调用时Service的相关内容会处于活动状态。