最近都一直在忙着做公司手机性能方面的测试,开始有点自己的想法了。
性能,没有对比的话,就无所谓性能了,所以,不得不拿着别人的手机跟公司
的手机进行对比。性能总的来说就下面几方面:CPU,内存,存储,网络。手机
的话,也是这几个方面,CPU,内存和存储都接触比较多,但网络的话,一直没
有机会接触。
CPU的话,当然是TOP命令用的最多了,不过很多第三个应用都经常抛出ANR,
这种问题不好处理,没有代码,只能从LOG和trace来看,到底是系统的问题,还
是第三方应用的问题,我老喜欢只单看某一方面,以致于问题总是不见很好的解决,看来
以后得从方面结合着来看。TOP能很好的看出是哪个进程占用CPU过高,但问题的话,
还得自己去分析。
内存比较复杂,也比较重要。CPU的话,一般不会出现什么大的问题,很少人会去动
这方面的东西,但内存就不一样了,大家都在用,但大家都毫不在意,原因可能是现在手机内存已经很大了,至少也512M了吧!但为什么还是不够用呢?这是正常的,就跟从来没有人觉得自己钱多一样,资源越多越好。但无论怎样提高CPU和增加内存的大小,Android却总是不那么流畅,并不能很好的发挥资源的效果。
内存里面比较常见的两个问题是内存泄漏和段错误。内存泄漏不怎么好测,应用层的话,可以使用MAT工具,最近测出公司很多应用都有内存泄漏的情况,但使用MAT工具分析,都很好的得到了解决。主要是确定应用是否有内存泄漏的问题和内存泄漏在哪块。段错误的话,没有找到什么好的工具,arm-linux-addr2line 如果信息足够多的话,能定位到具体的函数,可是只能定位到函数是远远不够的,多数情况是C/C++很多地方都在调用这个函数,更重要的是信息不够,函数都只能定位到free这样的标准库里面的,根本就没有什么效果,这一块还是有很大的研究空间。
内核的内存管理,公司也没有人调过。一看就还在使用LINUX原来的那一套,我看没有这么简单,如果想得到很好的效果,仅仅是上程老是增加heap_size的大小,是不行的。这块也在学习当中,到时候能力可行,看下能不能处理下,不过感觉没有人商量,这种效果不见得好。
存储的话,对用户来说,最有用的就是DATA分区,这个以前说过,就不多说了。
最近对内存这块接触比较多,自己是做系统,不知道有没有帮到别人,但总的来说,还是尽可能的去帮别人处理了问题,有些解决了,有些没有,只是给了个方向,但内存问题,都是幽灵一样,时隐时现,不好处理,以后在这方面多下点功能。
对为人处事学到了很多东西,与人交往,还是一问很深的技术,尽可能的做吾日三醒吾身吧!还有就是不要仅限一门工具,一门语言,多种工具,多种语言结果,可以很好的解决问题,以前没有这样的体会。技术看来还是用来解决问题的。
想到了一个问题:为什么计算机越用越慢,人脑了越用越灵活?
人是会总结的,计算机不会,所以计算机有一大堆数据,不会用,也成不了事。这是机器学习和人工智能方面的内容,也只是了解。
所以以后多总结自己,少犯点错误吧!不要被毒蛇咬两次,也不要在同一个地方摔跤,也不能在一棵树上掉死,多方面结合。
阅读(2197) | 评论(0) | 转发(0) |