Android: Android Reboot流程
16lz
2021-01-23
reboot systemcase1: factory resetSettings/src/com/android/settings/MasterClear.java sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));->frameworks/base/services/java/com/android/server/MasterClearReceiver.java RecoverySystem.rebootWipeUserData(context);->frameworks/base/core/java/android/os/RecoverySystem.java bootCommand(context, "--wipe_data"); -> PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); pm.reboot("recovery");->frameworks/base/services/java/com/android/server/PowerManagerService.java public void reboot(String reason){ ShutdownThread.reboot(mContext, finalReason, false); }->frameworks/base/core/java/com/android/internal/app/ShutdownThread.java rebootOrShutdown(){ Power.reboot(reason); }->frameworks/base/core/java/android/os/Power.java rebootNative(reason);->frameworks/base/core/jni/anroid_os_Power.cpp __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, (char*) chars);->kernel/kernel/sys.c case LINUX_REBOOT_CMD_RESTART2: kernel_restart(buffer); -> machine_restart(cmd);->kernel/arch/arm/kernel/process.c void arm_machine_restart(char mode, const char *cmd){ //set flag and reboot }
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer