Java 服务的启动过程
FregService 在 SystemServer 里启动。
// frameworks/base/service/java/com/android/server/FregService.java
package com.android.server;
import android.content.Context;
import android.os.IFregService;
import andrid.utils.Slog;
public class FregService extends IFregService.Stub {
......
};
// frameworks/base/services/java/com/android/server/SystemServer.java
class ServerThread extends Thread {
......
@Overide
public void run() {
......
try {
Slog.i(TAG, "Freg Service");
ServiceManager.addService("freg", new FregService());
} catch (Throwable e) {
Slog.e(TAG, "Failure starting Freg Service", e);
}
......
}
}
Android 系统再 System Server 启动时,会创建一个 ServerThread 线程来启动系统中的关键服务,硬件访问 FregService 就是在这个 ServerThread 现场中启动的。
网友评论