从今天开始,我每周都去Google+看下android performance patterns,归纳总结一些好东西出来。如果那周没有好东西,小V也憋出来一点哈。
1. ClassyShark帮助去减安装包
在MAC上面用这个软件来分析APK, 感觉还是不错的,简单易用,可以看不同dex的方法名,类名,还有数目统计,可以导出全部字符串。
支持命令行
1. java -jar ClassyShark.jar -export com.facebook.katana_69.0.0.0.28.apk
导出all_methods.txt all_classes.txt all_strings.txt
2. java -jar ClassyShark.jar -inspect [apk]
仿佛是个实验的功能,文档没有介绍太多,感觉是用来导出没有被混淆包呀,方法呀。下面是分析facebook的结果。这也让我想起,很久之前弄过的混淆率,感觉可以有呀。
3. 直接不加参数运行命令行java -jar ClassyShark.jar,就会打开的软件,点击OPEN,选择APK,会看这个结果。应该可以分析下,用来减安装包吧。
2. 提供依赖注入能力的库的性能对比(roboguice vs Dagger 1 vs Dagger 2)
简单来说, 就是roboguice性能极差,Dragger2最佳,无论是从增加的方法数还是启动耗时的影响上说。里面附带个一个在线测量和分析APP启动速度的网站,好像很COOL的样子:https://nimbledroid.com/play/com.facebook.katana?p=2ykhiuZfzMW7ys#Summary
3. AndroidDevMetrics帮助分析APP性能问题
不得不说好像很厉害的样子,小V打算迟一些试用下,现在Mark下来。从图片中可以看到有流畅度呀,按照类展开的切换activity耗时分析等等。
4. NimbleDroid关于各种APP启动速度的统计数据
说说几个关键点, TOP 100 GOOGLE PLAY的应用,40%在2s内冷启动完成,30%在3秒以上,另外也发现他们还有根据应用分类的启动速度统计数据。可以看到,facebook果然牛逼,启动速度最快。当然大家可以看下自己的APP在什么层次,我看了下手Q的最新版本,1.4S,成绩也不错。
查看app的详细信息,还可以看到一些issues和app启动过程的方法分析。看起来有点像我们自己的Magnifier分析云里面的trace分析云。
大家多鼓励,我尽力每周来一发