PreferenceFragment,在整个Settings应用中,基本所有的页面都继承自它,比如DashboardFragment,它是大多数页面的父类。
Enjoy coding
PreferenceFragment,在整个Settings应用中,基本所有的页面都继承自它,比如DashboardFragment,它是大多数页面的父类。
Preference只是设置菜单中的某一项,PreferenceGroup则是Preference的容器,负责多个Preference的显示管理,它也是Preference的子类。
Settings中的菜单项,都是基于Preference实现的,Preference提供了一个UI视图显示到Activity的ListView中,并且关联了一个SharedPreferences,用于存取Preference值。
Android中的事件包括两类,Touch触摸事件和Key按键事件,我们都知道事件会先传递给Activity,但事件不是凭空产生的,那么它是从哪里传递到Activity的呢?
ContentProvider是应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享。ContentProvider是一个抽象类,它提供了一套标准的接口来获取和操作数据。可以把数据封装到ContentProvider中,从而使这些数据可以被其他的应用程序所共享。
ActivityManagerService架构中服务端AMS和客户端交互流程,通过Binder机制,上层App将请求发给AMS,AMS做出对应的请求处理。
Android的每个应用程序中,都有一个ApplicationThread对象,用于和AMS进行交互,最典型的就是处理生命周期的流程,在SystemProcess和App应用进程中进行交互。
ActivityManagerService中常见的类及其作用,包括ActivityRecord,ProcessRecord,TaskRecord,ActivityStack,ActivityStackSupervisor。
上层应用通过调用startActivity
,实际上最终是调用到了Framework中的ActivityManagerService,在ActivityManagerService中,根据Intent中所携带的信息,来启动Activity
,通过调试系统Settings应用启动流程,来分析AMS是怎么启动Activity
的.