当前位置: 首页 > news >正文

做坏事网站南京网站建设公司有哪些

做坏事网站,南京网站建设公司有哪些,中国知名企业有哪些,长沙网络推广网站制作8种机械键盘轴体对比本人程序员#xff0c;要买一个写代码的键盘#xff0c;请问红轴和茶轴怎么选#xff1f;一、SystemUI组成SystemUI是Android的系统界面#xff0c;包括状态栏statusbar、锁屏keyboard、任务列表recents等等#xff0c;都继承于SystemUI这个类#xf…8种机械键盘轴体对比本人程序员要买一个写代码的键盘请问红轴和茶轴怎么选一、SystemUI组成SystemUI是Android的系统界面包括状态栏statusbar、锁屏keyboard、任务列表recents等等都继承于SystemUI这个类如锁屏KeyguardViewMediator。二、SystemUI启动流程SystemUI的启动由SystemServer开始。SystemServer由Zygote fork生成的进程名为system_server该进程承载着framework的核心服务。Zygote启动过程中会调用startSystemServer()。SystemUI的分析从SystemServer的main方法开始。SystemUI启动的大致流程如下2.1 SystemServerSystemServer在run方法中负责启动系统的各种服务。123456789101112131415..........// Start services.try {traceBeginAndSlog(StartServices);startBootstrapServices();startCoreServices();startOtherServices();SystemServerInitThreadPool.shutdown();} catch (Throwable ex) {Slog.e(System, ******************************************);Slog.e(System, ************ Failure starting system services, ex);throw ex;} finally {traceEnd();}在startOtherServices方法中先是创建并添加WindowManagerService、InputManagerService等service,并且调用startSystemUi方法跳转SystemUIService。12345678910111213141516171819202122232425private void startOtherServices() {//创建注册服务...WindowManagerService wm null;SerialService serial null;NetworkTimeUpdateService networkTimeUpdater null;CommonTimeManagementService commonTimeMgmtService null;InputManagerService inputManager null;...traceBeginAndSlog(IpConnectivityMetrics);mSystemServiceManager.startService(IpConnectivityMetrics.class);traceEnd();traceBeginAndSlog(NetworkWatchlistService);mSystemServiceManager.startService(NetworkWatchlistService.Lifecycle.class);traceEnd();...traceBeginAndSlog(StartSystemUI);try {startSystemUi(context, windowManagerF);} catch (Throwable e) {reportWtf(starting System UI, e);}启动跳转SystemUIService。123456789static final void startSystemUi(Context context, WindowManagerService windowManager) {Intent intent new Intent();intent.setComponent(new ComponentName(com.android.systemui,com.android.systemui.SystemUIService));intent.addFlags(Intent.FLAG_DEBUG_TRIAGED_MISSING);//Slog.d(TAG, Starting service: intent);context.startServiceAsUser(intent, UserHandle.SYSTEM);windowManager.onSystemUiStarted();}2.2 SystemUIServiceSystemUIService在onCreate中调用SystemUIApplication的startServicesIfNeeded方法。123456789101112Overridepublic void onCreate() {super.onCreate();((SystemUIApplication) getApplication()).startServicesIfNeeded();// For debugging RescuePartyif (Build.IS_DEBUGGABLE SystemProperties.getBoolean(debug.crash_sysui, false)) {throw new RuntimeException();}...}2.3 SystemUIApplicationSystemUIApplication先获取配置的systemUI组件。1234public void startServicesIfNeeded() {String[] names getResources().getStringArray(R.array.config_systemUIServiceComponents);startServicesIfNeeded(names);}配置文件在/frameworks/base/packages/SystemUI/res/values/config.xml中配置的systemui组件如图1234567891011121314151617181920212223332 com.android.systemui.Dependency333 com.android.systemui.util.NotificationChannels334 com.android.systemui.statusbar.CommandQueue$CommandQueueStart335 com.android.systemui.keyguard.KeyguardViewMediator336 com.android.systemui.recents.Recents337 com.android.systemui.volume.VolumeUI338 com.android.systemui.stackdivider.Divider339 com.android.systemui.SystemBars340 com.android.systemui.usb.StorageNotification341 com.android.systemui.power.PowerUI342 com.android.systemui.media.RingtonePlayer343 com.android.systemui.keyboard.KeyboardUI344 com.android.systemui.pip.PipUI345 com.android.systemui.shortcut.ShortcutKeyDispatcher346 string/config_systemUIVendorServiceComponent347 com.android.systemui.util.leak.GarbageMonitor$Service348 com.android.systemui.LatencyTester349 com.android.systemui.globalactions.GlobalActionsComponent350 com.android.systemui.ScreenDecorations351 com.android.systemui.fingerprint.FingerprintDialogImpl352 com.android.systemui.SliceBroadcastRelayHandler353 在startServicesIfNeeded方法中根据config配置创建SystemUI并调用SystemUI的start方法。12345678910111213141516171819202122232425262728293031private void startServicesIfNeeded(String[] services) {if (mServicesStarted) {return;}mServices new SystemUI[services.length];final int N services.length;for (int i 0; i N; i) {String clsName services[i];if (DEBUG) Log.d(TAG, loading: clsName);log.traceBegin(StartServices clsName);long ti System.currentTimeMillis();Class cls;try {cls Class.forName(clsName);mServices[i] (SystemUI) cls.newInstance();} catch(ClassNotFoundException ex){throw new RuntimeException(ex);} catch (IllegalAccessException ex) {throw new RuntimeException(ex);} catch (InstantiationException ex) {throw new RuntimeException(ex);}mServices[i].mContext this;mServices[i].mComponents mComponents;if (DEBUG) Log.d(TAG, running: mServices[i]);mServices[i].start();log.traceEnd();...}2.4 SystemUISystemUI是一个抽象类start()是抽象方法具体实现在子类。12345678910111213141516public abstract class SystemUI implements SysUiServiceProvider {public Context mContext;public Map, Object mComponents;public abstract void start();protected void onConfigurationChanged(Configuration newConfig) {}public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {}protected void onBootCompleted() {}...}
http://wiki.neutronadmin.com/news/145023/

相关文章:

  • 任丘市做网站价格潍坊网站制作公司哪家比较好
  • 设计网站的优缺点分析中国搜索
  • 老网站改版国内用wordpress建设
  • 专门做视频的网站查公司的国家网站有哪些
  • 微网站模板怎么做新媒体营销实训报告总结
  • 做网站意向客户wordpress跳转到老域名
  • 有哪些可以做外链的网站电商运营招聘
  • 求个没封的w站2021软件建设银行网上银行网站
  • 网站设计与制作费用做pc端网站信息
  • 怎么做信息发布型网站平面设计学下来多少钱
  • 柳州 网站建设wordpress评论框提示
  • 无锡做网站优化在哪个网站去租地方做收废站
  • 局域网建设网站如何访问wordpress 版微信小程序
  • 延安网站设计宿迁沭阳网站建设
  • 东莞市建设监督网站首页开发一款游戏需要多少资金
  • 荣成城乡建设局网站随州网站seo诊断
  • 购物商城网站建设方案做网站想注册商标是哪一类
  • 新网站如何做搜索引擎收录沈阳高端网站设计
  • 济南网站推广网站模板大小
  • 做网站一定要效果图吗discuz论坛门户网站模板
  • 漳州网站开发去博大钱少a厦门正规的网站建设公司
  • 音乐盒的网站怎么做网页制作基础教程课程标准
  • 不懂见网站怎么办网站开发实训心得体会
  • 深圳网站建设有限公司网站建设基础摘要
  • 展会网站建设 服务器选择很重要企业网站维护兼职
  • 北京建设集团网站1122t
  • 网站建设大约多长时间网站开发 app
  • 凡科快图网站wordpress如何关闭网页
  • 个人网站 flash欧美设计网站
  • 包车哪个网站做的最好网站找什么公司做