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

网站建设要实现的目标网站开发工程师绩效

网站建设要实现的目标,网站开发工程师绩效,本地搭载wordpress,怎么做商品购买网站前言 BatteryStats模块主要用于设备在电池供电是系统对各个模块电量使用的统计,Android提供的Battery Historain工具就是对此模块统计的数据进行解析和展示。 一 BatteryStats模块类图 模块主要类图如下:见根目录的模块类图 BatteryStats:抽象类,本模块的核心类,主要定…前言 BatteryStats模块主要用于设备在电池供电是系统对各个模块电量使用的统计,Android提供的Battery Historain工具就是对此模块统计的数据进行解析和展示。 一 BatteryStats模块类图 模块主要类图如下:见根目录的模块类图 BatteryStats:抽象类,本模块的核心类,主要定义多个内部类,内部类主要包括Uid、Timer等; BatteryStatsImpl:核心实现类,负责电池数据的统计计算,其实现亮BatteryStats中所有的抽象内部类,这些类用于不同统计实现; Uid:针对每个进程的uid设置,用于统计不同uid下进程的耗电数据,如wakelock、sensor、Proc等数据; BatteryStatsService:系统中battersystats服务,提供binder接口,但电池数据计算工作是在BatteryStatsImpl中; BatteryStatsHelper:负责计算软件和硬件等各个模块的耗电数据,提供给设置、手机管家等模块展示; BatterySipper:表示每一个耗电模块的数据统计。 二 BatteryStats启动过程 BatteryStats服务是在AMS中启动,其启动时序图如下: ActivityManagerService-BatteryStatsService:new BatteryStatsService-BatteryStatsImpl:new setPowerProfileLocked ActivityManagerService-BatteryStatsService:initPowerManagement 2.1 初始化BatteryStatsService ActivityManagerService-BatteryStatsService:new 在AMS的构造函数中初始化BatteryStatsService对象,读取统计文件中已经保存的信息,同时开启异步信息记录,设置回调,在AMS的onStart中发布服务。 BatteryStatsService构造函数主要初始化Handler、耗电统计和计算类BatteryStatsImpl,设置耗电参考指标参数等。 --javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown public ActivityManagerService(Context systemContext, ActivityTaskManagerService atm) {...// TODO: Move creation of battery stats service outside of activity manager service.mBatteryStatsService = new BatteryStatsService(systemContext, systemDir,BackgroundThread.get().getHandler());mBatteryStatsService.getActiveStatistics().readLocked();mBatteryStatsService.scheduleWriteToDisk();mOnBattery = DEBUG_POWER ? true: mBatteryStatsService.getActiveStatistics().getIsOnBattery();mBatteryStatsService.getActiveStatistics().setCallback(this);...}BatteryStatsService(Context context, File systemDir, Handler handler) {...HandlerThread = new HandlerThread("batterystats-handler");mHandlerThread.start();mHandler = new Handler(mHandlerThread.getLooper());mStats = new BatteryStatsImpl(systemDir, handler, this,this, mUserManagerUserInfoProvider);mWorker = new BatteryExternalStatsWorker(context, mStats);mStats.setExternalStatsSyncLocked(mWorker);mStats.setRadioScanningTimeoutLocked(mContext.getResources().getInteger(com.android.internal.R.integer.config_radioScanningTimeout) * 1000L);mStats.setPowerProfileLocked(new PowerProfile(context));mStats.startTrackingSystemServerCpuTime();...} 2.2 BatteryStatsImpl初始化: 创建存储文件、校准文件和每日文件; 创建handler信息,注此looper为AMS提供; 初始化各类型timer和counter,每一种类型的对应一类事件。 工具类主要有三类, StopwatchTimer负责计时统计 LongSamplingCounter负责计数、 ControllerActivityCounterImpl包含多个负责计数的类对象,比如数据收发包统计 --javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown public BatteryStatsImpl(Clocks clocks) {...if (systemDir == null) {mStatsFile = null;mBatteryStatsHistory = new BatteryStatsHistory(mHistoryBuffer);} else {mStatsFile = new AtomicFile(new File(systemDir, "batterystats.bin"));mBatteryStatsHistory = new BatteryStatsHistory(this, systemDir, mHistoryBuffer);}mCheckinFile = new AtomicFile(new File(systemDir, "batterystats-checkin.bin"));mDailyFile = new AtomicFile(new File(systemDir, "batterystats-daily.xml"));...mHandler = new MyHandler(handler.getLooper());...initTimersAndCounters();...initTimes(uptimeUs, realtimeUs);...} 2.2.1 初始化全局Timer --javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown void initTimes(long uptimeUs, long realtimeUs) {mStartClockTimeMs = mClocks.currentTimeMillis();mOnBatteryTimeBase.init(uptimeUs, realtimeUs);mOnBatteryScreenOffTimeBase.init(uptimeUs, realtimeUs);mRealtimeUs = 0;mUptimeUs = 0;mRealtimeStartUs = realtimeUs;mUptimeStartUs = uptimeUs;} 2.2.2 初始化Uid进程Timer --javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown public Uid(BatteryStatsImpl bsi, int uid, long elapsedRealtimeMs, long uptimeMs) {mBsi = bsi;mUid = uid;/* Observer list of TimeBase object in Uid is short */mOnBatteryBackgroundTimeBase = new TimeBase(false);mOnBatteryBackgroundTimeBase.init(uptimeMs * 1000, elapsedRealtimeMs * 1000);/* Observer list of TimeBase object in Uid is short */mOnBatteryScreenOffBackgroundTimeBase = new TimeBase(false);mOnBatteryScreenOffBackgroundTimeBase.init(uptimeMs * 1000, elapsedRealtimeMs * 1000);mUserCpuTime = new LongSamplingCounter(mBsi.mOnBatteryTimeBase);mSystemCpuTime = new LongSamplingCounter(mBsi.mOnBatteryTimeBase);mCpuActiveTimeMs = new LongSamplingCounter(mBsi.mOnBatteryTimeBase);mCpuClusterTimesMs = new LongSamplingCounterArray(mBsi.mOnB
http://www.dnsts.com.cn/news/153742.html

相关文章:

  • 创建网站收费wordpress破解论坛主题
  • 咸阳做企业网站现在写博客还是做网站
  • 学校html网站模板厦门企业网站制作
  • 英语故事网站建设网站开发 请示
  • 网站前台登录模板公司网站建设需要什么资质
  • 何炅做的网站广告济南泰安网站建设公司
  • 苏州工业园区劳动局网站做不了合同域名解析查询工具
  • 做公益网站需要什么资质接广告的网站
  • 手机网站导航页彩票网站给实体店做代销
  • 阿克苏建设局网站网页美工素材
  • 中英互译网站怎么做it运维需要具备哪些能力
  • 个人备案网站能用公司新网域名注册
  • 最火爆的国际贸易网站提供网站推广公司电话
  • 建设通招标网站上海专业建站最低价
  • 做平面设计都关注哪些网站企业网站优化策略
  • 一般做网站用什么字体比较合适手机版oa系统
  • 网站建设需要摊销多久百度推广官方
  • 网站整站优化深圳口碑最好的装修公司
  • 广州白云区网站开发建设景区网站的目的
  • 动漫网站建设目的搜索优化的培训免费咨询
  • 网站建设 官网python采集更新wordpress
  • 彩票网站上的走势图是怎么做的联想公司网站建设现状
  • 数商云电子商务网站建设正规劳动合同模板免费
  • 网站建设策划书编制crazyuncle WordPress
  • 网站建设工具的种类株洲市
  • 英文版网站制作wordpress改页面
  • 网页建设与网站设计ps 如何做网站
  • 郑州建设网站设计重庆微网站开发公司
  • 开发技术网站开发技术wordpress 淘宝客网站
  • 无锡自适应网站开发推广策划