1.SystemServer.java

frameworks/base/services/java/com/android/server

System Server是android 基本服务的提供者,是android系统运行的最基本需求,所有service运行在一个叫system_server的进程中,system_server进程是android java虚拟机跑的第一个进程,从Zygote 创建而来,是andorid系统最重要的java虚拟机。可以说,整个android系统的业务都是围绕system server而展开,所以,当system_server死掉了,手机必须重启。

从Zygote创建system_server进程时,便实例化了该类

因此在android的启动过程中位于zygote之后。android的所有服务循环都是建立在 SystemServer之上的。在SystemServer中,将可以看到它建立了android中的大部分服务,并通过ServerManager的add_service方法把这些服务加入到了ServiceManager的svclist中。从而完成ServcieManager对服务的管理。

public static void main(String[] args){
    new SystemServer.run();
}
private void run(){
    try{
        //run方法将会对整个系统的Service做初始化,搭建完运行时环境和上下文
        //创建消息队列,家在native lib库
        Looper.prepareMainLooper();
        System.loadLibrary("android_servers");
        performPendingShutdown();

        //创建ActivityThread初始化系统context
        createSystemContext();

        //创建SystemServiceManager负责创建启动管理系统服务
        mSystemServiceManager = new SystemServiceManager(mSystemContext);
        //创建系统服务管理者并添加到本地服务
        mSystemServiceManager.setStartInfo(mRuntimeRestart);
        LocalServices.addService(SystemServiceManager.class, mSystemServiceManager);
        SystemServerInitThreadPool.get();
... ...

try{
    
}

}

android.os.trace:

android.os.SystemProperties:设置或取得系统属性

    android属性值是以键值对的形式存在的,一般放在system.prop,build.prop,default.prop等

    SystemProperties.get("ro.android.myprop")可返回属性对应的key

private void createSystemContext(){
    ActivityThread activityThread = ActivityThread.systemMain();//得到ActivityThread对象
    mSystemContext = activityThread.getSystemContext();

    mSystemContext.setTheme(DEFAULT_SYSTEM_THEME);
    final Context systemUiContext = activityThread.getSystemUiCOntext();
    systemUiContrext.setTheme(DEFAULT_SYSTEM_THEME);
}

android.app.ActivityThread

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值