《无线性能解决方案》PPT课件_第1页
《无线性能解决方案》PPT课件_第2页
《无线性能解决方案》PPT课件_第3页
《无线性能解决方案》PPT课件_第4页
《无线性能解决方案》PPT课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

爱梦想去旅行,无线性能测试方案苏英2013.07,目录,爱梦想去旅行,无线产品市场现状,无线性能测试目标分析,无线性能测试方案设计,测试执行及性能优化,4,1,2,3,无线产品市场现状,爱梦想去旅行,爱梦想去旅行,用户使用无线产品质量的情况2012IBMMobile用户体验报告,用户使用无线产品质量的情况2012IBMMobile用户体验报告现在2013年了,问题会减轻么?,23%,用户在手机上碰到过问题,21%,用户直接卸载性能差的APP,11%,用户对着自己的手机咒骂很烂,4%,用户气愤把手机扔了,爱梦想去旅行,用户使用无线产品质量的情况2012IBMMobile用户体验报告,用户面对这种情况会怎么样,43%,放弃手机交易到PC端上试,28%,会跳到到竞争对手的产品,11%,会投诉和反馈,40%,会把差的体验在社交媒体上分享,影响品牌,用户期望100ms响应99.999%可用省电省流量操作流畅,用户期望,Mobile现状,网络2G,3G,4G,不同运营商,不同的终端设备:cpu,内存,存储空间,手机内操作系统迥异,手机的电池量小,用户不得不经常充电,?,?,功能好,不好用!,手机的流量是需要付费的,?,?,无线性能目标分析,Andorid,IOS,H5,移动端硬件,移动端数据库,无线网络,移动端缓存,Andorid,IOS,H5,测操作响应时间测网络响应速度测客户端Crash率,服务端(DB,缓存,接口,硬件),1,基于源码的性能测试,2,3,1.方法级别的测试(数据结构和算法)2.模块级别的相互调用效率3.缓存策略的设计4.垃圾回收策略设计5.IO操作的线程化,异步6.第三方库引用的消耗,基于设备和系统的极限的性能测试,1.不同品牌机型(Android有内核被改造)2.不同API版本的性能优化相关的改造3.不同机型硬件配备(如:多核处理器如何通过代码加快应用程序处理速度),基于用户场景的性能测试,1.用户操作消耗的流量2.用户场景使用消耗量3.用户场景使用响应速度4.用户使用过程中操作流畅度5.用户使用过程中crash率6.用户感知应用启动时间,快慢多少极限-趋势-分布-突变,无线性能测试方案设计,爱梦想去旅行,无线性能测试方案,APPMonitor,性能静态代码扫描工具,MobileScheduler,性能持续集成,云端服务,Anroid(robtium),IOS(frank),H5(automanx),1,4,3,压力场景,1.用户频繁进行前后台切换2.在高CPU和高内存占用的情况下,访问自己的应用的程序处理是否正常3.检查在系统中执行清除数据后,应用程序在启动执行操作的时候,是否会崩溃4频繁快速的实施页面的翻动和滑动和翻转操作,看看应用程序会不会崩溃,压力场景,5.对于页面的list,Mock大量的数据,看页面在加载大量数据的情况下是否会崩溃6.检查长时间操作应用程序需要访问数据库的地方,看看会不会有内存泄露的情况(因为没有关闭游标而导致内存泄露等)7.检查应用程序是否在后台频繁的长时间的使用不必要的GPS定位,看应用频繁的用GPS定位会不会崩溃,2,普通场景,1.用户挂后台24小时内消耗的电量和流量2.用户挂前台在24小时内消耗的流量电量3.用户随意使用10分钟,对存储空间,内存,CPU的占用,在2G,3G,WIFI流量,网络场景,1.在类似地铁弱网络的情况下,访问应用看是否会崩溃2.检查在从2G网络切换到3G网络或者WIFI的环境时,应用是否能正常切换,流量是否消耗正常3.检查在移动的情况,网络请求是否正常,性能Case脚本,性能Case脚本,Android有contiperf工具也可以做性能单测,嵌入式性能监控SDK以CompuwareAPM为例,APPMonitor,各种参数检测方法【Android】Cpu检测方法:Adbshelldumpsyscpuinfo(4.0及之后的,需要取得root权限)Proc/stat(总CPU信息)proc/meminfoAndroidAPI:getProcessMemoryInfoEclipse插件MAT工具,APPMonitor,各种参数检测方法【Android】耗电量的检测方法:Framework/res/xml/power_profile.xml:定义各种状态值修改androidossettings源码,获取手机电量排行的原理主要是通过读取电池记录文件来实现的。Android.os.BatteryStats隐藏类:得到各种模块使用时间,ernal.os.PowerProfileprocessAppUsage():负责解析计算各个模块记录文件,从而得出电量值.获取隐藏API及Internal方法:,APPMonitor,APPMonitor,各种参数检测方法【IOS】IOS检查方法主要在instrument中进行,由于其封闭的系统,第三方应用要想获取被监测的应用程序的性能情况比较困难,各种参数检测方法【Android,IOS】网络性能测算方法在Android,IOSApp中启动tcpdump监控网络全过程,获取.pcap文件,我们修改tcpflow的部分源代码,执行下面的命令:执行的命令为:./tcpflow-1.3.0/src/tcpflow-Hranyhost/urihost/uri-Hfoutput.xml-randroid-ios.pcap-d1-o./capture_data,APPMonitor,无线性能优化,爱梦想去旅行,Android优化List,爱梦想去旅行,Andorid由于系统版本多,机型繁多,硬件配备层次不齐,Android的系统性能问题比较突出选择合适的Java容器以务实的态度设计缓存策略,提高缓存命中率(LRU,MRU,)有大量数据存储在数组中的时候,使用尽可能小的数据类型有选择顺序的访问缓存,最大限度地重用已在缓存中的数据,防止数据从缓存这种清除后再次载入了解不同API的调用,以最适当的API获取最好的性能如:if(Build.VERSION.SDK_INT=Build.VERSION_CODES.HONEYCOMB)sparseArray.removeAt(1);elseintkey=sparseArray.keyAt(1);sparseArray.remove(key),Android优化List,爱梦想去旅行,加快Activity的响应速度,保持应用的持续响应让主线程做尽量少的事情,将网络操作和访问文件系统等操作转移到另一个线程去做使用RelativeLayout替代LinearLayOut,尽可能扁平化布局用标签合并布局,用重用布局,用layoutopt分析优化布局减少创建的对象,以及使用ViewStub推迟对象创建(XMLLayout)用StrictMode检测不良行为,如deleteCustomSlowCall,noteSlowCall可以在activity的生命周期中对挂载在其中的view做一些释放操作对Sqlite的事务进行原子提交,且可以用限制数据库访问的方式来加快查询速度,用cursor对象来遍历结果灵活使用多线程,Android优化List,爱梦想去旅行,可以在activity的生命周期中对挂载在其中的view做一些释放操作推迟初始化,让系统在onLowMemory()时,对象不会自动被系统释放掉,IOS性能优化List,爱梦想去旅行,使用ARC进行内存管理在适当的情况下使用reuseIdentifier避免臃肿的XIBs尽可能将View设置为不透明(Opaque)不要阻塞主线程让图片的大小跟UIImageView一样选择正确的集合使用GZIP压缩重用和延迟加载View缓存、缓存、缓存,IOS性能优化List,爱梦想去旅行,考虑绘制处理内存警告重用花销很大的对象使用SpriteSheets避免重新处理数据选择正确的数据格式设置适当的背景图片降低Web内容的影响设置阴影路径优化TableView,IOS性能优化List,爱梦想去旅行,选择正确的数据存储方式加速启动时间(尽量以异步方式执行任务,例如网络请求,数据访问或解析)使用AutoreleasePool,在autoreleasepool代码块中创建临时对象,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论