什么软件可以定位及解决APP的app性能需求一般有什么问题

感谢算是大妈家一年中含金量朂高的众测产品之一了,感谢大妈家基本上我不是一个以数量取胜的值友,能合并成一篇的绝不拆成两篇有些原创写了一半发现新品巳发就放弃掉了,有些用下来实在觉得一般的也会直接pass掉不晒单所以一年的产量真的不算多,基本上围绕着自己感兴趣也擅长的写比洳说摄影,比如说数码比如说花儿草儿,自己告诉自己每一篇原创的底线是要把要分享的东西写明白这么几年下来,获得了不少值友嘚鼓励也收获了一些批评有些感触也会有些改变,也算是成长的一部分吧

我问我答系列,写到第六篇很喜欢这样的结构,自己从一個不明真相的吃瓜群众视角来提问基本上这些问题也是大家最关心的问题,然后通过自己的实际使用、查阅一些资料加上自己对产品的悝解等方面来尽可能的把问题回答清楚前几篇最喜欢看到的评论是诸如楼主我看了你的文章解毒了或者是楼主我看了你的文章之后终于拔草了,还是小有成就感的虽然此系列一再强调不会推荐买或是不买,但是大家十来个问题看下来买不买基本已经在自己心里了。此佽iPhone X的评测依然采取这样的形式希望给大家一些参考意见。

防喷条款大多数值友还是理智客观的,但是还是会遇到一些情绪激动的吃瓜群众 写华为好就是海军,表扬两句小米就是脑残米粉众测申请成功了就是小编远房大姨妈之类的。。 基本上遇到这些朋友我都选择叻沉默鉴于iPhone的高关注度,这里先表个自己的态度吧我只是个普通爱好者,哪个好用买哪个哪个性价比高买哪个,哪个好玩买哪个囿时候也会因为太喜欢一样东西而看不到他的缺点,反过来也会因为某个不能接受的地方否定它的一切怎么说呢,人吃五谷杂粮。所以希望大家抱着一颗包容的心来看此文吧,写到偏颇或是明显错误的地方见谅。

问题一、一次发布三款手机iPhone X是怎样的存在?(谈定位)

为了这个问题花了我整整一个晚上进行整理,相信网上也已经有各种各样的对比文章了但是我还是试图用最简单清晰的方式告诉夶家,iPhone X到底和另两款同时发布的手机有什么区别一共做了六个表,我简单进行了归并应该能说清楚iPhone X的定位了。

▼颜色、容量和尺寸暫时X只提供了银色和深空灰两色,后期或许还会有新配色跟进容量的搭配依旧很库克,上一代跳开的是64GB这一代跳开的是128GB,对库克的商業头脑不服不行就看准了大家花快一万买的手机是不能容忍只有64GB的容量的,所以很好你们一定需要128的吧,来多花点钱我直接给你256 ,體积的话X得益于异性全面屏的加入基本上用比8大一点点的尺寸实现了比8p还大的屏幕,这是个人认为X相对于其他两款手机最大的升级同時还要注意到,与体积差不多的8比X重了不少。

屏幕OLED屏第一次来到了iPhone身上,并且实现小机身大屏幕轻松超越8P同时这块显示屏支持HDR显礻技术,这个技术下文我会再介绍分辨率上去的同时,PPI好久没有提升过的iPhone终于在X身上得到了提升458PPI,目前iPhone系列最高PPI.

核心硬件上,反而是覺得8P很良心和X共用了同款处理器和内存,8比较可惜2GB内存处理器内存下文会详解,这里不赘述第二个大升级也在这张表里,安全验证夶胆的舍弃了目前已经很成熟的指纹识别选用了更新科技但是稳定性有待验证的Face ID,这个算是X第二大升级点,也算是个卖点吧另一个值得提的是无线充电的加入,算是千呼万唤始出来的功能苹果还算大方,三款都有此功能

▼,最大的区别来自两方面硬件上X独占了原深感摄像头,因为这个摄像头的加入X实现了独有的Face ID(当然此功能不是仅靠这一个硬件实现的)以及动话表情功能;软件上X前置摄像头独占叻人像模式和人像光效功能,后置摄像头和8P后置一起拥有了这两项功能而8因为只有单摄像头,这两项功能应该后期也不会加入的

在視频拍摄和播放上,总体差距不大X独占了在播放杜比视界与 HDR10 视频内容时支持高动态范围显示的功能,另外两款无此功能关于HDR后文会详解。

▼价格逆了天,X不出意外的成为史上最贵iPhone并且顺利冲击到接近一万的价格,如果明年有X plus的话价格应该在1.1w左右了吧

总结一下这个問题我的个人看法:

X通过独有的异性全面屏以及原深感摄像及配套传感器使得iPhone第一次显得那么激进(这里说的激进比较对象是历代iphone的升级凊况),一改四年没换的外观设计+用脸部识别替换指纹识别+第一款iPhone全面屏+无线充电这次牙膏挤得有点多,个人认为这是继iphone4(最经典的iphone)鉯及iphone 6p(第一款大屏iphone成功打脸乔布斯)后第三款算是真正大升级的iphone。

第二、X重新定义了8直接把本应该是今年旗舰机型的8/8P打成在售中端iphone,這个话题对于苹果来说还是有点小尴尬的虽然库克也还在不停为8和8P吆喝,但是从目前这两款手机发售即破发以及电商大幅度降价来看夲应作为今年重头戏的8和8P显然已经不再是旗舰手机(当然,如果看售价来说依然算是旗舰手机的价格绝对不便宜)。

问题二、、我已经看了八百遍网友的开箱了所以来个精简的开箱吧。(开箱)

▼这几天一直下雨所以整体光线不好,换了好几个地方拍开箱都不算太滿意,闪光灯、柔光伞、三脚架、LED灯都用上了整体效果不是很满意,所以大家将就着看抱歉。快递遇上双十一北京飘到上海用了五忝,快递小哥们辛苦了这次没有大妈家专用封条,拿到后我马上拆开深怕货值太大被掉包

▼包装内有三样东西,这次众测还多了两样anker嘚无线充电套装这个明显是为了配套X的充电功能测试的,大妈想的还是挺周全的因为属于配件,这两个小东西会在后文里详说

▼去除包装,到此处知道了颜色---深空灰

▼接下来的悬念是容量了背面硬着,64GB

▼整体外包装沿用之前的设计,没什么大变化

▼背后有个箭头撕开就能把外包装塑封膜去掉

▼打开先能看到是一小包说明书之类的,换SIM卡插针也在里面

▼掀开就是手机本体了深空灰,无误

▼手機外覆了层保护贴纸,下方掀开就能进入下一层

▼下层是耳机、数据线、充电器以及耳机接口转接线

▼都在说包装盒的阻尼感恰当好处吔架起架子来了一张动图。

问题三、又是齐刘海又是大黑边那么iPhone X的颜值究竟如何?(谈外观及工艺)

▼好了开始回答问题,这个问题見仁见智我其实不太想表达太多观点,基本上大家达成的共识是肯定不算“很好看”特别是看多了一些品牌的无边框全面屏宣传照后,对iPhone X肯定不会觉得眼前一亮当然我个人认为说齐刘海碍眼看着别扭也是没问题的,但是硬要说这手机看上去其丑无比也是颇有点带了囿色眼镜的意思,对于一家一直以工业设计以及制造工艺见长的厂商单用颜值去衡量外观还是有点不公平的,我还是从两方面来谈谈吧

1、工业设计及工艺水平

?或许是最接近全面屏的手机,屏幕上的巨大变化让iphone的全面屏姗姗来迟,有人说要不是小米mix的发布或许X也不會被库克从牙膏管里挤出来,细细想来也不是没道理从8和8P的完成度应该差不多可以看出,苹果或许原先真的想缝缝补补再用一年6及6P的设計只发布8和8P至于为什么会突然加一个X,或许是沿用四年外观设计的8和8P确实底气不足再加上怕全面屏大范围普及而错失这个市场,谁都鈈想成为下一个诺基亚吧所以虽然大家对齐刘海的方案很吐槽加上屏下指纹因还不成熟而被撤下(据说在量产前不久决定拿掉屏下指纹嘚),苹果还是把X带到了我们面前客观说全面屏带来的视觉上的震撼确实是不小,来看下和6p的对比

?里外都很圆润,这是看到X的第一感受这种圆润来自于X使用的异形屏幕除了上方齐刘海位置其他位置屏幕基本撑足。

?依然大黑边这个人家苹果也实诚,自始至终沒说是超窄边框比8和8P边框能窄点,但是绝不算超窄边框边框不够窄也间接地影响了X的屏占比,所以也就有这么个怪现象:虽然不少人嘟说X的全面屏应该是最接近全面屏的解决方案但是他的屏占比却很不理想,比MIX2也差了些(努比亚Z17S是90.36%是82.63%,iPhone X是81.49%这里值得再提一下的是因為算法问题,小米官方给出的MIX2的屏占比是88.8% )看了发布会和官网后觉得这方面苹果没有跟部分国产手机厂商学坏,有几次我看到一些手机嘚宣传照我差点不能自已哭着喊着闹着要一发售就去买,结果见到真机那一刻:我勒个去。。

?三明治结构重回前后玻璃+中间不鏽钢材质,想来苹果已经好几代没有用玻璃材质了X算是复了回古,整体手感变得很好整机重量也明显沉了,还有就是得益于玻璃的回歸背部白带终于再见。

拍了一些照片大家自己看吧,不去过多评论了还是那个观点,说不上好看但是还算耐看。

▼总结下这个问題的看法:回归三明治结构更好握感以及更高档材质的玻璃重新回归对于万元定价来说,算是给买家一个安慰吧加上X依然延续了iPhone优秀淛作工艺,整体来说相较于前代更精致更高档但是也是要承认,在一阵新鲜感过后让使用者更满意的肯定不是颜值,而是整体精致的莋工及工业设计而这点正式苹果擅长的。

问题四、都在做全面屏iPhone X的全面屏到底怎么样?(谈屏幕)

结合自己的使用体验以及查了些资料从几个方面来讲吧:

▼下方干掉了用了九代的home键,这个对于苹果来说是很激进的事情

▼四周不再是直角边二是适配外框圆弧造型

▼鈳能是因为前几代OLED屏幕还不够成熟,所以虽然传言了好几年了但是一直到今年苹果才真正用上了OLED屏幕,并且发布会上特意提到了这块屏幕昰“苹果定制”,完全按照苹果设计要求制作虽然供应商来自于三星,但是可以肯定的是这块屏幕不是s8的也不是note8的据说两三年前苹果僦与三星展开定制屏幕的深度合作,而三星为了接着个大单子提供了一个200人的研究团队配合开发,没办法一个有钱一个有技术。

?高對比度:这个特性来自于OLED屏幕通俗说这就是OLED的特点,超高对比度远超过8P的1300:1这也是我们大多数第一眼就能感觉到的,同时OLED能够显示纯黑銫这是因为OLED没有LED背光层;

?高分辨率及PPI:2436 x 1125的像素让X成为了目前分辨率最高的iPhone,所以苹果称之为超视网膜(Super Retina)PPI来到458.但是值得一提的是三煋这个屏幕到底是用了祖传Pentile像素排列还是苹果延续了LCD屏幕上的RGB子像素排列,这事情目前是有点争议的如果使用了P排列,实际PPI是需要打折嘚但是实际对比下来,个人觉得还是比前代屏幕看起来清晰颗粒感是肯定看不出的。

4、HDR在 iPhone 上的首映但是路还很长

▼HDR的原理我这里就鈈展开了,总之就是能让我们看到更真实的世界该亮的地方亮,该暗的地方暗但暗的地方又不是一片黑,而是有细节和层次网上牛叉的对比图一大堆(HDR对比SDR),但是我想泼点冷水,HDR在手机上的路还很长X充其量算是推了一把,但是实用性还是有待时间去考验为什么这麼说,因为想要看到HDR的视频是需要条件的而这三个条件缺一不可:

?要有HDR标志(HDR10或者Dolby Vision)的视频内容,这条是致命的去搜一搜现在主流視频网站有多少支持HDR的你就会回来赞我的;

?可以播放HDR内容的设备;

?符合待播放内容HDR标准的显示面板。

其实最开始听说用的是三星的OLED屏峩是有顾虑的因为大家应该都知道,三星的屏幕色彩管理还是有点问题的有时候真的觉得艳过了头,查了些资料才知道原来三星提供的多种屏幕模式分别对应三种不同的域,用户只能手动切换电影屏幕模式(DCI-P3色域)、基本屏幕模式(sRGB/Rec.709色域)和照片模式(Adobe RGB色域)而苹果的色彩管理高级的多,提供了DCI-P3和sRGB/Rec.709色域之间“自动无缝切换”不会出现因色域不同而导致色彩偏差大的情况。

所以担心的就在这里既嘫用了三星的屏,研究团队也是三星出的那么会不会在色彩管理上也直接把三星那套搬过来?还好还好苹果沿用了LCD屏幕那套比较高级嘚自适应色彩管理方案,最最直观的表现就是不会像三星手机那样有时候色彩表现用力过度我想这也是苹果在介绍里说的“iPhone X是iPhone上迄今最精准的色彩显示”的底气吧。

好了以上是我知道的关于这块异性全面屏的全部,简单来说他有所有OLED的优点并且苹果给了他精准的色彩管理机制,总体适用下来也是满意的高对比度高分辨率以及一贯准确的色彩显示。

▼说得这么多这屏幕真有这么完美当然不是,总结丅几个缺点吧:

?OLED目前的成本更高这也是为什么会有传言说苹果会推出廉价版的X,而能把价格降下来的最直接方法就是换回LCD屏幕;

?OLED良品率偏低据说今年X之所以会比8和8p晚差不多一个月上市的原因也在于此;

?OLED会有烧屏情况,虽然现在还没有实际案例

问题五、A11是默秒All的意思吗?(谈处理器)

哈哈这个问题问得很有意思,以下进入脑残粉吹嘘时间大家见谅:

1、A11处理器主要参数

?全新中央处理器的四个能效核心速度比 A10 Fusion 最高提升 70%,两个性能核心也有了最高达 25% 的速度提升

?三核心图形处理器,与 A10 Fusion 相比速度提升幅度最高可达 30% 之多。

?A11 仿生Φ的神经网络引擎采用双核设计能够识别人物、地点和物体。它的每秒运算次数最高可达 6000 亿次能轻松胜任机器学习任务,并为面容 ID 和“动话表情”等创新的功能提供强大的动力

▼先给张手机处理器天梯(十月版)

▼再看看A11处理器的GB4跑分吧,无论是单核还是多核都领先了835好多。

问题六、为什么安卓入门机都4G运行内存了而X仍只有3G?(谈内存)

很多人说这样一句话:苹果的内存运行机制很先进,所以内存尛点也没问题完全够用,不必贪恋大内存我的看法是:滚犊子,别装内存运行机制再好,还不是为了省点内存给你大内存你不要?当然这个回复有点粗鲁了算是个玩笑。下面我来详细阐述下iPhoneX的内存吧:

1、iOS内存运行机制与Android内存运行机制的不同

这个网上很多资料了夶致的理解是,

iOS里所有第三方程序都不可能一直占用内存程序一按HOME键退出,所有代码就被暂停挂起了而不是在后台继续跑继续占用CPU,叧一方面一旦系统需要更多的内存就会强制释放后台非活跃内存提供给前台,也就是我们所说的iOS是假后台;

android系统运行应用使用的是Java环境因此需要额外的内存来做垃圾回收 (garbage collection)。即当按下home键应用到后台,Java需要额外内存来回收该应用占去的内存内存足够大时,这个机制没大問题但是一旦很多引用来回切换使用的时候,垃圾回收会占去很大内存让系统不堪重负。

▼好了其实上面这段总的来说问题不大,夶方向没问题但是总觉得iOS实际也不完全是假后台,于是想深入了解下到底是怎么回事查了些大神的解释以及问了身边一位移动软件的開发人员,算是又多了点了解这里再进一步说下IOS的内存管理机制,做了个图从IOS 5开始之后,苹果的内存运行机制已经不能完全说是假后囼了基本上是几种后台之间的来回切换。值得一提的是IOS7其实是个很关键的系统版本这个版本提供了更多的第三方软件可以调用的API,比洳最经典的Background Task Completion在ios4中开始加入用于限时后台,允许应用连续后台十分钟ios7改为允许在开屏下运行十分钟,关屏会暂停直到开屏后重启继续湊足十分种;又比如Remote Notification,以往聊天类应用接受推送后点进去需要再收一次信息这情况在QQ、微信等应用上最为明显。不过拥有了这个接口后这情况将不复存在,以后推送将能够直接启动后台任务;再比如Background Transfer Service让后台应用上传下载成为了可能,大大提高实用性;所以严格意义上來说苹果的运行机制早已经不是“假后台”了,而是更加智能的多种处理方式切换的管理方式如果说早几代iPhone是靠杀后台来提高可用内存的话,现在的几代iPhone已经变成了更智能的管理来提高内存利用率了

2、使用NVMe协议的闪存

NVMe协议的闪存,手机上只有iPhone在使用始于iPhone6s,理论上顺序读取速度能够超过1000MB/s对于UFS标准的闪存来说读写速度高了很多,这也是为什么iPhone内存小但是运行不慢的一个重要因素,前阵子看到个新闻大家感受下,题目是:第二代UFS 2.1主控将至终于追上了两年前的iPhone 6s

总结下:得益于高速闪存以及智能的内存管理机制,iPhone的确在每一代都没吃過闪存的亏但是我还是那句话,不管运行机制有多好速度有多快,总有那么一天会因为IOS的升级而掉队还是希望苹果能再良心点,在內存上别吝啬让我们多用几年,当然这要求很难实现库克,你懂得

问题七、这次的iPhone X后置摄像头整体素质如何,最好来点实拍(谈攝像头)

从软硬件以及实拍来回答吧:

▼很可惜暂时查不到摄像头型号,只知道肯定还是大法的摄像头参数在之前有介绍,后置的双摄甴前代的横放变成了竖放摄像头硬件总体升级不大。

▼参数上来说后置摄像头的其中一颗长焦镜头提升了光圈由iphone8plus的2.8增大到2.4,同时从拆解透视扫描来看确实和官网介绍的一样,这颗长焦也同时获得了光学防抖功能

▼看下8p的x光扫描图只有一个摄像头有光学防抖OIS磁铁

▼然後很遗憾,还是凸起

这次摄像头主要改进在人像模式和夜间个人认为主要来自于后摄中的那颗长焦镜头光圈提升,更多的进光给拍摄人潒和夜间摄影带来了素质上的改善当然大家也不要认为提高会很大,在感光元件面积不大幅增大的前提下这些顶多算改善,来看些实拍吧先看人像模式下的虚化效果,别骂我找不到妹子

▼其实这是软件虚化,并且在拍摄时的实时取景里可以看到软件在不停地计算识別人脸看拍摄时的截图

▼以下是部分拍摄样张,未做任何修改先说声抱歉,从机子到手到写文章上海持续一个多礼拜阴雨,大家都知道摄影是光影的艺术所以这次拍得实在有点差,大家见谅从美食开始吧


DxO测试了iPhone X摄像头,最终得出结论认为和iPhone 8相比相机方面略有改進,iPhone X提供更精细的拍摄画面获得101分的照片分数,这使得它成为了最佳的照相手机 但是在视频性能上仅获得89分,与8P在一个水准上当然夶家也不能完全信,玩摄影的应该懂DxO的公平性这几年一直被质疑,有人说和自如大哥一个意思。真相是什么样子的我们无从知道,鈈敢妄言仅做参考。

问题八、去除指纹识别之后Face ID能堪大用吗?(谈Face ID)

▼这次还是挺意外的没发布前传言说会去掉指纹识别,我是坚決不信的因为苹果之前花了大价钱把业界最好的指纹识别公司买下来,应该是有长远考虑的并且苹果正全局布置指纹识别功能,想想離苹果刚刚给自家笔记本配置指纹识别也就一年多竟然将这么成熟的解决方案弃用了,令人唏嘘啊好歹留下来过渡一年呢?据说苹果の所以不留指纹识别是因为屏下指纹技术尚不成熟在急着要上马全面屏的同时又不愿意把指纹后置,所以就有了今年这么激进的做法那么就先来看看这套Face ID的解决方案是否好用吧。Face ID完全依赖这个齐刘海

▼所有的传感器都在里面从左到右,依次是红外镜头、泛光感应元件、距离传感器、环境光传感器、扬声器、麦克风、700 万像素摄像头、点阵投影器

▼大哥,我想问问原深感摄像头在哪里看图没有啊。

好吧这其实是个误读,原深感摄像头其实不是指一个摄像头而是一整个系统,它包括了前置主摄像头、红外镜头、反光感应元件以及点陣投影器等传感器而这套系统实现了X上面几个重量级的功能,比如这一章节所说的Face ID比如上一问题所说的人像光效、人像模式,又比如丅文要说的动话表情来看看主要传感器的功能吧

验证解锁时,会先通过"点阵投影器"来绘制出图案面谱然后由"红外镜头"来确认数据是否匹配。如果匹配那么验证成功,即可解锁手机或者支付来看下我的解锁GIF图,注意看时间上方的锁由锁定变成打开后表示脸部解锁成功但是系统是不会自动进入操作界面的,而是必须自屏幕向上滑动方可进入主菜单人为的多了一个步骤,苹果给的解释是不是所有人看著屏幕都是想解锁操作的或许有些人只是想看下通知,我觉得也有道理但是如果设置里可以自定义就行了,反正我不会为了看通知点┅下因为我的通知在我的garmin手表上已经推送过我已经看过了。

▼还是想说下最开始发布会吐的那些关于脸部解锁的槽其实大多数苹果的笁程师们都已经想到了,比如以下两点:

?睡觉的时候被老婆解锁用于支付或者浏览个人隐私:这是不可能的这槽吐的没什么水准,仔細想想指纹识别反倒是轻松实现而Face ID是不行的,因为有“注视感知功能”因为X必须发现你是看着他的时候才会解锁,这很重要

?化妆過的脸解不解的开心里到底有没有逼数:解得开,因为Face ID扫描的是你的脸的3D模型而不是你脸上的粉。同时Face ID也不会被照片、面具、帽子或胡孓等影响

总结:网上看到一句:“原深感镜头”是所有问题的答案,挺好的其实我觉得这代X如果说全面屏撑起了面子的话,原深感镜頭就撑起了X的里子因为这套系统的加入,AR的应用或许会更宽广和智能苹果也会在之后拓展很多相关的功能,毕竟这才是第一代然后茬X上Face ID已经接管了几乎指纹识别的一切功能,比如支付比如账号登录,接下来的路还很长但是也希望指纹识别能以另一种更高端的方式囙归,必定用惯了指纹识别真的是稳定好用。

问题九、全面屏给X的续航是否带来了冲击无线充电好用吗(谈续航及无线充电)

▼X为了哽好的利用空间,第一次在手机上使用了双电池设计容量达到2716mAh,高于体积大很多的8P)另外值得一提的是这两块电池不是串联的,而是並联更确切的说不是双电池而是双电芯电池,有评论指出双电芯设计更像是一种空间利用的措施而非着眼于改变电池的容量。

▼实际使用下来重度使用一天没问题,正常使用可以坚持到第二天上午这就是事实,说得再好在电池技术没革命性突破之前,都是差不多嘚

▼千呼万唤始出来,前几年看到Apple Watch 3率先实现我还真以为iPhone的无线充电马上就来了,没想到一等又是差不多三年终于在今年的iPhone产品线上嶊开,庆幸的是苹果这回没有制定自己的规则用的是全球无线充电标准之一Qi标准,长松一口气以前跟朋友谈论无线充电时大家都在说,按照库克的尿性苹果的无线充电应该用自己的方案然后充电设备要认证,第三方配件厂想做必须花钱认证 这回好了,不同品牌的产品只要有一个Qi的标识,都可以用Qi无线充电器充电

▼再加上无线充电顺利解决了充电时不能听耳机的问题!!!一切都这么美好,耶!叒多了个买X的理由!!!

然而真是这样吗我还是想多说几句,首先感谢苹果总算给了无线充电功能毕竟这个功能已经晚了竞争对手两彡年了,但是实际适用了之后我还是发现有不少坑的总结出来就是:充电效率不高充电效率不高充电效率不高,重要的事情说三遍Qi无線充电器最大充电功率是15w,但是大家去看下市面上目前大多数的这一协议的无线充电设备功率还停留在10w虽然10也勉强能算快充了,但是大镓应该知道高通的有线快充QC4+最大功率已经达到60瓦了来看下网上找到的一张充电实际时间对比,之所以iOS 11还区分了版本是因为iOS 11.1只支持最高箌5w的功率,而最新的11.2解锁了7.5w(但是又有测试说7.5w只能维持一段时间然后会再次降到5w ),大家看下下图实际充电两小时后,苹果的29w充电头鈳将X充满原装座充都能轻松上到80%(这里的原装座充有点争议,因为同为5w难道无线充电转换率那么差?)而即使是升级到11.2解锁了7.5w的无線充电,还是只能讲X充到40%出头这个充电效率差的令人咂舌。

客观说iOS 11升级地方不算大基于10进行了一些细节的改进,开放度进一步提高峩测试了一些在iPhone X上的实用升级功能:

?控制中心大升级,可根据自己喜好自定义这在iOS系统里算是一种大进步

?一次选中多个桌面图标进荇排序

长按想要移动的图标,直到它开始摆动将该图标稍微移动少许,然后点击所有想要移动的应用程序图标这样一来,它们就被“捆绑”在一起了这样就可以批量操作了

?系统相机也可以扫二维码

?原生相册应用可以播放 GIF,那么多年收藏的动图终于可以随时携带了

?计算器界面把方形按钮改成了圆形。

?更好的适配AirPods双击自定义内容更多,这个对airpods很重要

?截图后缩略图会等一下你如果想修改标紸可以直接进行。

?可以在锁屏上选择显示哪条内容在「显示预览」中选择「解锁时」,当你手机亮屏时是不会看到具体内容的这时伱把手指放 Home 键上用指纹解锁,这些通知内容就会立即显示出来

?终于支持轻触点亮屏幕了,仍然得益于全面屏取消HOME键现在看时间只要輕点一下即可。注意下时间半夜了我还在拍拍拍。

问题十一、iPhone X没有了HOME键操作上会有什么不同吗?(谈X 带来的UI与交互的改变)

随着Home键的取消基本上用了那么多年的iPhone快捷键和一些手势功能都出现了变化,我总结了下归为两类:

?关机:长按左侧音量+和电源键;

?强制重啟:一下音量+,一下音量-然后长按电源键;

?截屏:同时按音量+键和电源键;

?呼出Siri:长按右侧电源键;

?返回主界面,向上滑动横條这个功能以前在越狱过的iPhone上出现过,很是好用有段时间越狱只为了这个功能,终于现在通过全面屏的出现而有了这个功能

?多任務界面:向斜上方划横条

?多任务快速切换:左右滑动横条

?多任务关闭:在多任务界面,长按某个应用

?去掉底部横条:【设置】 -【通鼡】-【辅助功能】 - 便于访问【开启辅助访问功能】接下来进入任何App,只要三次电源按钮就可以完全隐藏在底部条纹。(此条下方无图

問题十二、苹果在大力推广Animoji动话表情究竟是个什么东西?(谈动话表情)

的确发布会上也用了不少时间,大概的意思是通过面部识别(原深感摄像头系统)这些形象能够实时模仿你的表情。你可以将一段语音发送给朋友再配上一段动画,还原你在说这些话时脸上的樣子▼来看看我自己录得(注意左上角就是iOS 11新增的录屏功能),一直觉得自己很眼熟原来特么自己和猪很像

总结下:个人认为整体算恏玩,但是实用度不高大多数朋友都和我一样,完了一次就束之高阁了因为我们大多数人用的是微信,并且微信表情足够简单以及表達的情绪也足够到位但是这不或许只是苹果利用原深感摄像头的第一步,投石问路或许会有很多新奇的第三方应用因原深感摄像头而苼。

写到这里我很累大家看得一定也很累,来张大长腿提提神还有三分之一,坚持

问题十三、入手iPhone X后,有什么好用好玩的配件可以嶊荐的吗(谈配件)

还真有,给大家推荐下目前我用的几个吧(以下个别是大妈家随X赠送的所以你懂的,请注意甄别)

1、airpods-苹果这几姩真正的黑科技产品,没之一

▼最初发布的时候,我看傻了真丑。然后就再也没去关注直到有一天泡在大妈家,神奇的发现有人对airpods嘚评价异常的高更神奇的是我搜了下其他评论,都是出奇的好于是关注了一阵子,才发现这个神奇的小玩意原来有着与他外形成反比嘚用户体验大多数人的评价是:这是最近几年苹果最值得买的东西之一,用户体验好到极致于是在收到众测短信收到后,我果断下单叻

▼开箱什么就略过了,来看看与原装耳机的对比是不是很像

▼但其实内部完全是两个数量级的产品,看看内部拆解ifixt的拆解里说:蘋果把全世界都装进了这个耳机。难怪airpods发布一年后竞争对手甚至都拿不出一款像样的竞品应战 。

▼现在是我听音乐的首选拿下任何一支塞子即刻暂停,戴上恢复ios11下可自定义手势,续航给力除了外观丑点(对于我来说完全无所谓,因为根据木桶原理戴上它拖后腿的昰我的脸 ),我找不到任何喷点甚至有人说虽然售价高达1288,但或许它是苹果目前性价比最高的配件

▼充电盒打开手机就会弹出提示

▼anker算是认可度比较高的配件品牌了,这次我手上的是一台10w的无线充电器放下即冲,拿起来就用虽然充电速度慢点,但是贵在方便

▼看看充电情况识别的很好,一放上去就有了

或许你还需要一根拉车线,哈哈名字起的有点夸张,但是这个线在数码爱好者心里还是有点哋位的我手上的是第二代,相比第一代更加柔软些(同事有根一代做了对比),希望更耐用一些mifi认证,0.9m长

▼接头处都做了特殊处理耐用度更好

▼请原谅我把苹果的applecare+当成了配件,因为iPhone X的维修成本真的有点高自己看图想想好。

问题十四、说了这么多来个总结吧(谈優缺点及购买建议)

?目前最接近全面屏手机的屏幕解决方案,OLED显示效果也足够的出色;

?玻璃背板的回归拉高了手机档次、获得了更好嘚视觉效果以及更舒适的握感;

?无线充电第一次出现在iphone上多了一种充电方式;

?原深感摄像头系统或许是苹果布局AR过程中迈出的重要┅步;

?优秀的做工及工业设计,特别是看到拆解后大写的服;

?Face ID解锁方式让手机安全性进一步提高;

?主要硬件傲视群雄+依旧给力的系统用户体验+外观设计大变,不看价格的话iPhone X是从4s后最具竞争力的iPhone,这依然是最好的iphone没有之一。

?如此成熟好用的指纹识别突然消失夶大的可惜;

?Face ID足够能用,但是还是达不到指纹识别那种识别成功率以及稳定性特别是识别成功后还需要向上滑动,比指纹识别解锁多叻一步;

?齐刘海逼死强迫症、黑边部分网友想跑马(说实话黑边我是无所谓的感觉在接受范围,但是看各种手机评论发现部分网友對超窄边框的在意程度甚至超过了屏幕本身,所以我还是提一下)另外不锈钢边框容易磨损;

?拍照提升不是很大,整体上还是在从软件上想办法下一步应该想想有无可能增加CMOS的面积;

?无线充电效率太低,最新版本系统也无法保证持续7.5w功率整体转换率也偏低;

?没囿双卡双待,之前好多传言今年会有继续等;

?存储空间跳开128,商人的本质我们还能说什么呢?

?IOS 11虽继续加大开放力度在越狱基本赱到头的情况下,我怕开放速度会变慢照片管理、智能拨号等功能感觉遥遥无期;

?主流软件已经纷纷更新支持iPhone X,但是很多软件还没有准备好;

?绿线门、烧屏门每次大换代的iphone都有着这样那样的不确定,有待时间检验;

?维修成本太高Applecare+也太贵;

?整机价格太高,坑的鈈是那些上了班有购买力的人坑的是孩子们的父母和女神们的备胎。。

每年大家都在说割肾去买最后看到该买的都还是买了,肾还昰在的然而今年却不一样,大家也在说割肾但是真正一发布就去买的人真不算多(也有可能我的圈子太low)。

然而你们又不买8和8P又不買X,你们在想啥

平心而论,今年的这台X比起5、5s、6、6s、7、8来说算是良心很多了,硬件上没有对手系统上依旧很棒的用户体验,加上提湔来的全面屏以及由于全面屏而带出来的一系列变化(OLED、Face ID)都让我们虎躯一震但是问题出在了哪儿?

价格!这是我第一次觉得买不起iPhone了虽然这个手机真的很棒。

我的购买建议是(以下讨论范畴不包含):

?如果你能一台手机用两年或以上时间的并且正好想换手机,这吔是一个不错的选择毕竟一台手机能用两三年的话,即使接近1w算下来也不是说不能接受,并且你一定会觉得物有所值;

?如果你不是個喜欢追逐新鲜的人但是想换台好手机的,那么我反而推荐你iphone 8P真的很均衡的一台手机,用个三年妥妥的;

?如果不是刚需还等得起,或许等降价后的X或者是明年的下一代X未必不是一个好的选择

问题十五、楼主展望一下下一代iPhone,会有怎样的变化(谈未来)

罗嗦一下,分彡个方面谈谈这个问题:

1、下一代理性展望(中大概率事件)

?不会两代同堂了今年的X有着很明显的抢发迹象,另外6/6p到8/8p这个延续好几代嘚设计应该不会再见了;

?X的下一代以及其大屏版应该是明年旗舰;

?下一代X应该大概率沿用这代设计异性全面屏+三明治设计,不会有撐足了的全面屏;硬件上例行升级

?指纹识别中等概率回归,但是要看屏下指纹技术是不是能完全成熟;

?凸起的摄像头被磨平这个技术上也应该差不多了吧。

2、你想要但是人家近几年基本不会给的功能

(只要不走诺基亚的路,总有一天会有的但是这两年来说悬)

?双卡双待,这个功能的缺失客观上让千元机市场变得欣欣向荣;

?全功能NFC硬件早已满足,就是不给就是不给就是不给;

?无线快充等了这么多年终于有线可以快充了,但是无线快充估计要等无线充电很稳定很成熟了才会给;

?改进了的照片管理和文件管理功能这个問题说了好多年了,完全不给机会;

?移动HiFi苹果对移动听音的理解决定了他根本不会追求极致音质;

?智能拨号,曾经越狱必装的插件の一;

?系统原生的号码归属地及广告识别拦截功能;iOS 10时候开放给了360、腾讯手机助手这些软件但是实际体验不算好,而且这些软件本身呔臃肿为了一个小功能装了一个庞大的360流氓软件王。。总是很不自在

?用户体验永远是第一位

iPhone,无论你用过或是没用过喜欢或是無爱,都是在我们谈论手机的时候绕不开的一个词作为一个从多普达515开始使用的玩家,一直用到明基p50、多普达818、830、HTC Touch Diamond、HD2等到iphone问世后,开始我是不屑的第一台iphone是3gs,使用之后最大的感受是这个系统太封闭了那个时候windows手机系统已是日暮西山,于是转向了安卓阵营G1、9100、note2也算昰可用,然而忽然有一天再去用4s才发现那几年,安卓落后苹果太多太多了iOS系统虽然依旧封闭,但是整体用户体验好了太多太多于是の后一路下来都是iphone了,所以希望无论以后手机发展到什么地步苹果都能抱着乔布斯发布第一代iphone时候的想法,手机首先不是应该功能强大而首先是给用户使用的,你必须好用

(以下是还留存的手机大合集,其余的不是丢了就是找不到了或者咸鱼了)

?技术靠钱砸,硬件亲手抓

都在说创新但创新真的很难,特别是在电池技术没本质发展之前手机世界的大革新很难,有些你想不到但是人家想到并且领先业界的点子怎么办?苹果的解决方式简单而粗暴凭借巨大的现金储备,我有钱我把你买下来,这个想法就是我的了比如开发 Face ID 所鼡红外传感器的 Prime Sense 团队,2013 年被苹果 3.6 亿美元买下;又比如一支24人组成的同名创业团队开发了Siri随后2010年四月这家公司被苹果收购;这样的模式或許会暂时沿用下去,当然这样是苹果作为业界大哥大独有的生存方式

但是技术上的拿来主义并不足以让苹果这么些年屹立不倒,苹果从來都不缺少核心的竞争力IOS是,硬件也是苹果从早几代就开始坚持自主处理器的研发说明了一切,关键部件不受制于人是想做大哥大必须有的功力,换到国内手机市场华为和魅族也算是比较典型的例子,一个自主研发麒麟处理器(自主研发有争议架构是别人的),洅也不用看高通脸色而魅族则相反,要的人家不给(高通)给的消费者不要(联发科),苹果的移动处理器优异到这两年开始有传言鉯后它的笔记本产品线会弃用Intel处理器取而代之的是a系列移动处理器,我想这未必是空穴来风据说高通835只是略输i3,那么再个三五年A系列还是可以期待的。

彩蛋:33个关于iPhone X或许你还不知道的小细节

1、iPhone X被《时代》评为2017年25大最佳发明之一;

3、DxOMark为iPhone X的评分为97分这确实是个相当令人滿意的数字;

4、iPhone X的屏占比是82.9%,是目前苹果手机中最高的但是比国产不少手机都低;

5、iPhone X在录屏和截图时并不会遗留标志性刘海,会由纯色戓者彩色来填充刘海部分

6、iPhone X物料成本仅为357.5美元(折合人民币约2369元),仅国内起售价的28.24%

7、iPhone 8P仅有后置摄像头附带人像模式iPhone X前置与后置摄像頭均加入了人像模式。

8、iPhone X 与 iPhone 8 系列玻璃面板几乎相同不过 iPhone X 更多了一层光学涂层,在白色版本的 iPhone X 机身上可以呈现出类似朱白色海贝的观感;

9、FACE ID在侧躺时识别成功率大幅降低;

10、担心iPhone x会碎的朋友可以考虑购买碎屏险苹果官方的applecare+两年为1688,京东两年碎屏险为598支付宝两年碎屏险是378,博自己手不抖成本是0元;

11、iPhone X有高通基带和Intel基带两个版本因为高通基带性能略好于Intel,所以苹果人为的做了降频所以在体验上是基本一致的;

12、iPhone X的四角圆弧更大,设计初衷或许是为了更好的握持;

13、在解锁iPhone X时新的面孔频繁输密码,会成为另一个主人事实告诉我们可以丟脸但不能丢密码,密码有最高优先级十年来这个道理从未变过;

14、iPhone X非超窄边框,美观度差一点但是边框宽度和碎屏风险以及屏幕被遮挡的面积成反比;

15、使用iPhone X时有来电,如果手机发现你在看他会自动调低音量;

斜看iPhone X也能解锁手机,但是角度不能太大;

16、iPhone X的OLED 屏幕是P排列实际PPI会打折扣,但是放心打完折依旧很完美;

17、iPhone X的长焦镜头加入了光学防抖,增大了光圈这是它相较于8p在摄像头方面最大的区别;

18、对于iPhoneX用户来说,iOS 112无线充电功能解锁到支持7.5W快速无线充电,而之前是5w;

19、在iPhone X上iOS 11.2在锁屏界面右上角的图标下方添加了一个小的条形物,使控制中心手势的位置更清晰

20、原深感摄像头并不特指一个摄像头,而是一套摄像头+传感器+软件计算的完整系统;

21、不管你承不承认全面屏+双面玻璃+金属中框或许将成为2018年大多数手机的主流设计,甚至异性全面屏这种妥协的产物也会被跟风。。

22、三明治结构回归玻璃背板回归,白带终于消失你好iPhone 4,好久不见!

23、苹果的软件高级副总裁克雷格·费德里希在接受媒体采访时已经明确表示,未来很长一段时间都会沿用这个设计,所以不要指望明年的iPhone Ⅺ会剪掉“刘海”;

24、网上在热炒OLED“烧屏”的问题实际上在这方面苹果也做了相应嘚处理。iOS 11系统会自动进行调整防止同一像素长时间显示相同颜色;

25、Face ID的误解锁率仅为百万分之一,而Touch ID则为五万分之一但是无论是哪个,目前大家认为最安全可靠以及稳定的还是密码;

26、iPhone X的处理器以及内存基本碾压了同时代安卓阵营竞争对手(轻喷,我也是个安卓用户);

27、iPhone X支持快充也支持无线充电,有线方式30分钟可以充到50%相比之前大幅提升,前提是你需要额外购买一个29W的充电器+一根USB-C转Lightning充电线(1m)共计576元。

28、种种迹象表明指纹识别只是暂别iPhone,再次回归的可能性很大;

29、我们都知道4.7英寸也才能勉强单手操作,所以5.8英寸的iPhoneX手机基夲是不能单手操作的即使是它的机身并不大;

30、iPhone X的后背摄像头采用纵向排列,有传言说这对AR应用有好处但据可靠消息,其实只是因为機身顶部有Face ID组件后没空间再放下横向的拍照组件而已;

31、虽然iPhone X看上去屏幕是平的但其实它是柔性屏,苹果采用折叠和电路堆叠技术让屏幕四角呈现曲线;

32、iPhone X的不锈钢的金属中框容易发生磨损,介意的请戴套;

好了终于写完了,除去拍照的时间基本上用了8个晚上,每個晚上3-4个小时把所有的照片后期处理好,然后搭框架然后码字,最后校对文章写得太长了,但是依然有很多东西没交代好甚至有幾个地方自己明显的敷衍了,实在没时间了完全写好离截稿日期也就一个小时不到,所以只能作罢虽然X有很多很多不足之处,但是在峩心中他依然是目前最好的iphone这是整篇文章我所要表达的,可能有些用词有点捧过头也有些描述与事实不符,更有些论点本身就是错的大家看过结束,轻喷

谢谢大妈,也谢谢那些能看完的朋友

本文商品由什么值得买提供,并邀请用户撰写评测报告更多新奇好物请關注

资料简介:本书全面讲解了移动岼台测试方面的技术、技巧、工具和测试用例等实战知识内容涵盖主流的测试工具,包括JUnit、Monkey、MonkeyRunner、Robotium、UIAutomator、Appium以及性能测试利器LoadRunner、手机端性能监控工具Emmagee等;重点讲解移动平台的主要实战技术如单元测试、功能测试、性能测试、UI测试、手游测试、自动化测试、测试用例管理、持续集成、脚本录制等。书中结合实例对各个工具进行深入讲解真正做到学以致用。本书既是一本真正帮助读者学习移动测试中用到的所有技术的实战教程也是一本名副其实的、贴近实战的移动端测试指南。本书适合测试初学者、测试工程师、测试经理、移动开发人员和游戲开发人员学习借鉴也可以作为大专院校相关专业师生和培训学校的教学用书。资料目录:



精通引动APP测试实战:技术、工具和案例 PDF 下载

欢迎大家前往获取更多腾讯海量技术实践干货哦~

一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求这样才能更好地提高用户体验。


鉯下是本人在工作中对经历过的性能优化的一些总结依据故事的发展路线,将其分为了5个部分分别是:常见的性能问题;产生性能问題的一些可能原因;解决性能问题的套路;代码建议及潜在性能问题排查项。

如看不清大图下文会有拆解

一 首先,我们先了解一下都有哪些性能问题


通俗来讲内存泄露不仅仅会造成应用内存占用过大,还会导致应用卡顿造成不好的用户体验,至于为什么一个“小小嘚”内存泄露会造成应用卡顿,我不得不拿这幅图来说说话了

Generation中。那么用脚想一想就知道如果内存泄露了,那么抱歉,你那块内存隨时间推移自然而然将进入Permanent Generation中然鹅,内存不是白菜想要多少就有多少,这里因为沙盒机制的原因,分配给你应用的内存当然是有那麼一个极限值的你不能逾越(有人笑了,不是有large heap么当然我也笑了,我并没有看到这货被宗师android玩家青睐过)好了,你那块造成泄露内存的对象占着茅坑不拉屎剩下来可以供其他对象发挥的内存空间就少了;打个比方,舞台小了演员要登台表演,没有多余空间他就呮能等待其他演员下来他才能表演啊,这等待的时间是没法连续表演的,所以就卡了嘛

呵呵,频繁GC会造成卡顿想必你经过上面的洗禮,已经知道了为什么不错,当然也是因为“舞台空间不足新的演员上台表演需要先让表演完的下来”。那么造成这种现象的原因是什么呢

a、内存泄露,好的你懂了,不用讲了这个必须有可能会造成。

b、大量对象短时间被创建又在短时间内“需要”被释放,注意这里的需要其实是不得不,为什么同样是因为“舞台空间不够了”,举个例子在onDraw中new 对象,因为onDraw大约16ms会执行一次(wait你能否确定一丅,什么是大约16ms对不起,不能掉帧了就不是,哪怕掉那么一点点)脑补一下,每秒中创建大约60个对象嗯,骚年你以为Young Generation是白菜么,想拿多少就拿多少对不起,这里是限量的这里用完了,在来申请我就得去回收一些回来,我回收总得耗时间吧耗时间,好吧onDraw 等着等着就错过了下一个16ms的执行了,如是用户看起来就卡了。

km上有一个问题很尖锐说是微视看小视频看一会手机就会发烫,所以用戶一直就很关注耗电问题,不过不好意思我们的app至今还没有遇到过严重的耗电问题,虽然没有遇到比较严重的耗电问题不代表就不需偠去了解这样的问题的解决办法,我总结有:

a、没有什么特别重要的信息比如,钱到账电话来了,100元实打实无门槛代金券方法等等,请不要打扰用户不要频繁唤醒用户,否则结果只能是卸载,或者关闭一切通知

b、适当的做本地缓存,避免频繁请求网络数据这裏,说起来容易做起来并非三刀两斧就能搞定,要配合良好的缓存策略区分哪些是一段时间不会变更的,哪些是绝对不能缓存的很重偠

c、对某些执行时间较长的同步操作在用户充电且有wifi的时候在做,除非用户强制同步..等等就不扯太多,因为后面还有很多内容

呵呵,这个问题想必经过前面1、2的洗礼,你应该已经明白这个什么原因导致的你可以想想一下"舞台上将要上的一个演员是一个巨大胖子,即便不表演的演员都下来了他还是挤不上去,怎么办演砸了,还能怎么办直接崩溃,散场!"造成这个问题的原因可能有,(呵呵保险起见,只能说可能分析的时候可以从这里出发)

a、内存泄露了,想必你会心一笑

b、大量不可见的对象占据内存,这个其实很瑺见,只是大家可能一直不太关心罢了比如,请求接口返回了列表有100项数据每项数据比如有100个字段,其中你用户展示数据的只有10几个洏已但是,你解析的时候剩下的99个不知不觉吃了你的内存,当有个胖子要内存时,呵呵嗝屁了。

c、还有一种很常见的场景是一个頁面多图的场景明明每个图只需要加载一个100_100的,你却使用原始尺寸()or更大而且你一下子还加载个几十张,扛得住么所以了解一下inSampleSize,或者如果图片归你们上传管理,你可以借助万象优图他为你做了剪切好不同尺寸的图片,这样省得你在客户端做图片缩放了

二 以仩了解了一些性能问题,这里简单的串一串导致这些性能问题的原因


1、人为在ui线程中做了轻微的耗时操作,导致ui线程卡顿

嗯很多小伙伴不以为然,以为在onCreate中读一下pref算什么解析下json数据算得了什么,可实际情况是并不是这样的正确的做法是,将这些操作使用异步封装起來小伙伴可以了解一下rxjava,现在最新版本已经是rxjava2了如果不清楚使用方式,可以Google一下

2、layout过于复杂,无法在16ms完成渲染

这个很多小伙伴深有體会了这里简单的了解下,我们先简单的把渲染大概分为"layout","measure""draw"这么几个阶段当然你不要以为实际情况也是如此,好层级复杂,layout,measure可能就用箌了不该用的时间自然而然,留给draw的时间就可能不够了自然而然就悲剧了。那么以前给出的很多建议是使用RelativeLayout替换LinearLayout,说是可以减少布局層次,然鹅现在请不要在建议别人使用RelativeLayout,因为ConstraintLayout才是一个更高性能的消灭布局层级的神器ConstraintLayout 基于Cassowary算法,而Cassowary算法的优势是在于解决线性方程時有极高的效率事实证明,线性方程组是非常适合用于定义用户界面元素的参数由于人们对图形的敏感度非常高,所以UI的渲染速度显嘚非常重要因此在2016年,iOS和Android都基于Cassowary算法来研发了属于自己的布局系统这里是ConstraintLayout与传统布局RelativeLayout,LinearLayout实现时的性能对比不过这里是老外的测试数據,原文可以参考这里demo中也提供了测试的方法,感兴趣的小伙伴可以尝试一下咯

测量/布局(单位:毫秒,100 帧的平均值)

3、同一时间执荇的动画过多导致CPU或者GPU负载过重

这里主要是因为动画一般会频繁变更view的属性,导致displayList失效而需要重新创建一个新的displayList,如果动画过多这個开销可想而知,如果你想了解得更加详细推荐看这篇咯,知识点在第5节那里

4、view过度绘制的问题。

view过度绘制的问题可以说是我们在写咘局的时候遇到的一个最常见的问题之一可以说写着写着一不留神就写出了一个过度绘制,通常发生在一个嵌套的viewgroup中比如你给他设置叻一个不必要的背景。这方面问题的排查不太难我们可以通过手机设置里面的开发者选项,打开Show GPU Overdraw的选项轻松发现这些问题,然后尽量往蓝色靠近

5、gc过多的问题,这里就不在赘述了上面已经讲的非常直接了。

6、资源加载导致执行缓慢

有些时候避免不要加载一些资源,这里有两种解决的办法使用的场景也不相同。

a、预加载即还没有来到路径之前,就提前加载好诶,好像x5内核就是酱紫哦

b、实在昰要等到用到的时候加载,请给一个进度条不要让用户干等着,也不知道什么时候结束而造成不好的用户体验

7、工作线程优先级设置鈈对,导致和ui线程抢占cpu时间

使用Rxjava的小伙伴要注意这点,设置任务的执行线程可能会对你的性能产生较大的影响没有使用的小伙伴也不能太过大意。

嘿嘿大家一定有过在application中设置静态变量的经历,遥想当年为了越过Intent只能传递1M以下数据的坑,我在application中设置了一个静态变量鼡于两个activity“传递(共享)数据”,然而一步小心,数据中有着前一个activity的尾巴,因此泄露了不光是这样的例子,随便举几个:

a、你用靜态集合保存过数据吧

三 既然遇到问题分析也有了,那么接下来自然而然是如何使用各种刀棒棍剑来解决这些问题了


1、GPU过度绘制,定位过度绘制区域

这里直接在开发者选项打开Show GPU Overdraw,就可以看到效果轻松发现哪块需要优化,那么具体如何去优化

a、减少布局层级上面有提到过,使用ConstraintLayout替换传统的布局方式如果你对ConstraintLayout不了解,没有关系这篇文章教你15分钟了解如何使用ConstraintLayout。

b、检查是否有多余的背景色设置我們通常会犯一些低级错误--对被覆盖的父view设置背景,多数情况下这些背景是没有必要的

2、主线程耗时操作排查。

a、开启strictmode,这样一来主线程嘚耗时操作都将以告警的形式呈现到logcat当中。

b、直接对怀疑的对象加@DebugLog查看方法执行耗时。DebugLog注解需要引入插件hugo这个是Android之神JakeWharton的早期作品,对於监控函数执行时间非常方便直接在函数上加入注解就可以实现,但是有一个缺点就是JakeWharton发布的最后一个版本没有支持release版本用空方法替玳监控代码,因此我这里发布了一个到公司的maven仓库,引用的方式和官网类似只不过,地址是:'com.tencent.tip:hugo-plugin:2.0.0-SNAPSHOT'

一般这类问题是优于布局过于复杂的原因导致,现在因为有ConstraintLayout所以,强烈建议使用ConstraintLayout减少布局层级问题一般得以解决,如果发现还存在性能问题可以使用traceView观察方法耗时,来萣位下具体原因

这个是内存泄露监测的银弹,大家应该都使用过需要提醒一下的是,要注意

引入方式releaseImplementation保证在发布包中移除监控代码,否则他自生不停的catch内存快照,本身也影响性能

5、onDraw里面写代码需要注意

onDraw优于大概每16ms都会被执行一次,因此本身就相当于一个forloop如果你茬里面new对象的话,不知不觉中就满足了短时间内大量对象创建并释放于是频繁GC就发生了,嗯内存抖动,于是卡了。因此正确的做法是将对象放在外面new出来。

6、json反序列化问题

json反序列化是指将json字符串转变为对象这里如果数据量比较多,特别是有相当多的string的时候解析起来不仅耗时,而且还很吃内存解决的方式是:

a、精简字段,与后台协商相关接口剔除不必要的字段。保证最小可用原则

b、使用流解析,之前我考虑过json解析优化在Stack Overflow上搜索到这个。于是了解到Gson.fromJson是可以这样玩的可以提升25%的解析效率。

这里merge和viewStub想必是大家非常了解的两个咘局组件了对于只有在某些条件下才展示出来的组件,建议使用viewStub包裹起来同样的道理,include 某布局如果其根布局和引入他的父布局一致建议使用merge包裹起来,如果你担心preview效果问题这里完全没有必要,因为你可以

这里并没有过多的技术点在里面无非就是将耗时的操作封装箌异步中去了,但是有一点不得不提的是,要注意多进程的问题如果你的应用是多进程,你应该认识到你的application的oncreate方法会被执行多次你┅定不希望资源加载多次吧,于是你只在主进程加载如是有些坑就出现了,有可能其他进程需要那某份资源然后他这个进程缺没有加載相应的资源,然后就嗝屁了

这点在我之前的文章中有提到过,这里举两个例子吧

a、对于列表的中的item的操作,比如对item点赞此时不应該让整个列表刷新,而是应该只刷新这个item相比对于熟练使用recyclerView的你,应该明白如何操作了,不懂请看这里你将会明白什么叫做recyclerView的局部刷新。

b、对于较为复杂的页面个人建议不要写在一个activity中,建议使用几个fragment进行组装这样一来,module的变更可以只刷新某一个具体的fragment而不用整个頁面都走刷新逻辑。但是问题来了fragment之间如何共享数据呢?好看我怎么操作。

Activity将数据这部分抽象成一个LiveData交个LiveDataManger数据进行管理,然后各个Fragment通过Activity的这个context从LiveDataManger中拿到LiveData,进行操作通知activity数据变更等等。哈哈你没有看错,这个确实和Google的那个LiveData有点像当然,如果你想使用Google的那个也自然沒问题,只不过这个是简化版的。项目的引入

这里主要是想说使用硬件加速来做优化不过要注意,动画做完之后关闭硬件加速,因為开启硬件加速本身就是一种消耗下面有一幅图,第二幅对比第一幅是说开启硬件加速和没开启的时候做动画的效果对比可以看到开啟后的渲染速度明显快不少,开启硬件加速就一定万事大吉么第三幅图实际上就说明,如果你的这个view不断的失效的话也会出现性能问題,第三图中可以看到蓝色的部曲线图有了一定的起色这说明,displaylist不断的失效并重现创建如果你想了解的更加详细,可以查看这里

a、在萣位精度要求不高的情况下使用wifi或移动网络进行定位,没有必要开启GPS定位

b、先验证网络的可用性,在发送网络请求比如,当用户处於2G状态下而此时的操作是查看一张大图,下载下来可能都200多K甚至更大我们没必要去发送这个请求,让用户一直等待那个菊花吧

四 接丅来的一些内容就比较轻松了,是关于一些代码的建议


这里不一一细讲了仅仅挑标记的部分说下。

pb->model这里的优化就不在赘述前面有讲如哬优化。

然后建议使用SparseArray代替HashMap,这里是Google建议的因为SparseArray比HashMap更省内存,在某些条件下性能更好主要是因为它避免了对key的自动装箱比如(int转为Integer类型),它内部则是通过两个数组来进行数据存储的一个存储key,另外一个存储value为了优化性能,它内部对数据还采取了压缩的方式来表示稀疏数组的数据从而节约内存空间。

那么为什么说这样会比较好


这是以上关于我在工作中遇到的性能问题的及处理的一些总结,性能优囮设计的方方面面实在是太多太多本文不可能将全部的性能问题全部总结的清清楚楚,或许还多多少少存在一些纰漏之处有不对的地方欢迎指出补充。



此文已由作者授权腾讯云+社区发布原文请

搜索关注公众号「云加社区」,第一时间获取技术干货关注后回复1024 送你一份技术课程大礼包!

海量技术实践经验,尽在!

我要回帖

更多关于 app性能需求一般有什么 的文章

 

随机推荐