




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容列表预防性能问题性能问题修复技术代码检测工具自动化分析资源优化工具APK构建检测代码检测工具LINT扫描代码文件lint.xmlLINT
TOOLCorrectnessUsabilitySecurityAccessibilityPerformance
…代码检测工具FINDBUGS——深度定制原生findbugs认为有问题代码检测工具代码火线—不可穿越的火线UI线程的耗时操作频繁查找资源频繁创建对象过度刷新Adapter复用布局扁平直接使用大UIDex加载解压数据延迟加载任务调度PerfWebviewJekins任务平台业务服务器数据源JekinsPC节点代码仓库模块数据控制器crashfindbugsmailmodulewarningreportModulescrashfindbugsmailmodulewarningnetworkDBfilecontrolerdoGetdoPostdo自动化分析系统和平台自动化分析举例输出APK构建重复资源压缩法宝:制度资源下一个预防性能问题性能问题修复技术埋点收集信息常规性能观察者工具性能分析工具Aspectj重写器介绍及应用基于java的面向切面的编程语言静态植入:编译时期文件中完成织入电量网络交互常规性能预防性能问题性能问题修复技术埋点收集信息常规性能观察者工具性能分析工具进程冷热启动四大组件启动速度各个线程卡慢检测异步处理性能检测进程的冷热启动进程冷热启动Context::startXContext::bindXApplication::attachApplication::onCreateActivity:onCreateCustomInstrumentation::callApplicationOnCreateservice:
exported?activity:
exported?
UI?Provider:
exported?Receiver:
exported?四大组件启动举例—Activity的加载时间关键字:
ActivityThreadInstrumentationCustomInstrumentationpublic
void
callActivityOnCreate(Activity
activity,
Bundle
icicle)
{//...//收集
需要的activity信息
。long
bTim
=
System.currentTimeMillis();rTRunnable.setBeginTime(bTim
,
ponentName().getClassName());super.callActivityOnCreate(activity,
icicle);//activity绘制完成后,执行回调函数,用来记录时间activity.getWindow().getDecorView().post(rTRunnable);//...}线程卡慢采样时间发送检测信息Handle::postHandle::dispatessageCustomInstrumentation::waitForIdleCustomInstrumentation::waitForIdleSyncPublic
void
CustomInstrumentaion::waitForIdle(){//…mMessageQueue.addIdleHandler(new
Idler(recipient));mThread.getHandler().post(new
EmptyRunnable(t));//…}异步处理的性能异步处理静态埋点对象:Handle::post(Runnable
r)Handle::postAtTime(Runnable
r,
long
uptimeMillis)Handle::postAtTime(Runnable
r,
Object
token,
longuptimeMillis);Handle::postDelayed(Runnable
r,
long
delayMillis)Handle::postAtFrontOfQueue(Runnable
r)常规性能预防性能问题性能问题修复技术埋点收集信息常规性能观察者工具性能分析工具进程冷热启动四大组件启动速度各个线程卡慢检测异步处理性能检测Java
反射四大组件的onCreate执行时间ClassLoader.getResourceAsStream第
SDK卡慢工具预防性能问题性能问题修复技术埋点收集信息常规性能观察者工具性能分析工具LeakCanary分析工具(例:内存)APM集成工具——Argus
APM观察者AppLeakCanary检查Activity是否泄漏的问题,通过onDestroy方法检查,存在泄漏,则会dump内存镜像,获取栈信息内存分析分析方法Dalvik
Heap
DataHPROFadb
s kill-10Debug.dumpHprofDataDDMS
dump
hprof
filehprof-conv内存分析分析方法meminfomapssmapsmem内存分析分析方法输出工具内存分析ArgusAPM非侵入式支持插件性能云端灵活配置实时收集实时分析友好的数据平台支持针对开发的DEBUG模式ArgusAPM交互体验性能应用启动组件生命周期帧率网络性能上传
流量网络错误内存性能进程内存信息内存详情传感器性能传感器信息使用时长CPU性能瞬时使用率平均使用率电池电量电量信息耗电详情IO性能文件数据库ANR问题ANR详情ANR趋势检测ArgusAPM实多实扩控漂时维时展制亮分度分能能的析过析力力报滤表ArgusAPMDEBUG
模式实时性能实时本地分析警告信息日志记录性能问题可追溯制度:接入QA
Bug库多进程支持内容列表预防性能问题性能问题修复技术工具数据分析控制平台用户反馈检测用户设备性能基本信息双卡信息
ROOT信息网络信息自动分析耗电分析屏幕密度生成内存镜像文件
Method
TracingCPU/内存…...用户反馈检测用户设备性能内容列表预防性能问题性能问题修复技术热修复技术插件化技术RePlugin选择插件极其灵活易于集成非常稳定特性丰富仓库地址:
/Qihoo360/RePlugin总结手机卫士性能优化方案预防性能问题性能问题修复技术热修复技术插件化技术—RePlugin代码检测工具自动化分析系统资源优化工具APK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产合同管理论文
- 供应商品质协议书
- 敬老院入住协议书
- 人才服务招聘协议事项
- 辣椒订单农业合同协议
- 转租合作协议书合同
- 民诉管辖协议书
- 焊工就业协议书
- 泥巴堆放协议书
- 演员家长协议书
- 商品混凝土管理制度
- 2025年中考数学几何模型综合训练专题16全等三角形模型之婆罗摩笈多模型解读与提分精练(教师版)
- 2025年浙江温州市公用事业发展集团有限公司招聘笔试参考题库附带答案详解
- 2025年天津市武清区国资产经营投资限公司面向社会公开选聘工作人员高频重点模拟试卷提升(共500题附带答案详解)
- 业主大会申请书
- 2025年八人合伙企业股权分配协议书
- (部编版)语文五年级上册“小古文”阅读理解训练82篇附参考答案
- 《应收款项减值专题》课件
- 农艺师常规知识培训课件
- 2025-2030年中国管理咨询行业十三五发展战略规划及投资前景预测报告
- 改革开放史知到智慧树章节测试课后答案2024年秋齐鲁师范学院
评论
0/150
提交评论