1. Context
2. Application
3. Activity&Fragment&Intent
3.1 Activity生命周期及其作用
1).onCreate(): 当Activity第一次启动时调用;
2).onStart(): onCreate()被调用后调用;执行完onRestart()后Activity重新被用户可见时调用;
3).onResume(): onStart()调用后调用;在onPause(),onRestart(),onRestoreInstanceState()被调用后调用;用来处理与用户的交互;
4).onPause(): Activity被置于后台且还没有被终止(killed)时调用,在系统内存不足时会被终止;
5).onStop(): Activity不再被用户可见时调用,即一个新的Activity覆盖了这个Activity;Activity被一个透明或者类似于对话框的Activity覆盖时调用,如:电话来电;调用完成后该Activity仍然被窗口管理器管理,可见,失去焦点,不能与用户交互;
6).onRestart(): Activity调用onStop()被停止后又重新被用户可见时调用,如:单击返回键返回到这个Activity;在系统需要内存时会终止该Activity;
7).onDestroy(): Activity被终止前调用,完成最后的清理工作;
3.2 Activity四种基本状态
1).运行态(Running): activity处于最前端,被用户可见且获得焦点,可与用户交互;onCreate()->onStart()-onResume(),调用完onResume()后进入该状态;
2).暂停态(Paused): activity被置于后台未被终止(killed),用户可见,失去焦点,不可与用户交互,其状态信息会被系统保留;调用onPause()后进入该状态,若要回到运行态,需调用onResume();
3).停止态(Stopped): activity被新的activity覆盖,失去焦点,不可见,其状态信息会被系统保留;调用onStop()后进入该状态,若要回到运行态,需要一次调用:onRestart()->onStart()->onResume();
4).终止态(Destroyed): activity被系统终止,资源被回收;调用onDestroyed()后进入该状态,若要回到运行态,需要重新创建activity;
3.3 Activity四种启动模式及应用
1).standard(标准模式(默认): 每次请求开启Activity都会在栈中新建一个Activity实例;场景:适用于大多数场景;
2).singleTop(栈顶复用模式): 若要启动的Activity在任务栈顶已存在,调用onNewIntent()方法获取该Activity的实例;场景:登录页面,推送通知栏等
3).singleTask(栈内单例模式): 若要启动的Activity在任务栈中已存在,让该Activity的实例回到栈顶,并移除在其之前的所有Activity;场景:大部分app主页面,Webview主页面,二维码扫描界面等;
4).singleInstance(单任务栈模式): 整个系统中只存在一份该Activity实例,该Activity存放在一个单独的任务栈中,请请求开启该Activity时,该Activity的任务栈会替换当前显示的任务栈;场景:闹钟提醒界面,拨号程序界面,来电显示界面;
3.4 Activity启动流程
4. Service
5. BroadcastReceiver
6. ContentProvider
7. 进程与多线程
8. 数据存储
9. 网络通信
10. View&动画&图像图像处理
11. 音视频