Aviator的设计思路跟利用GroovyObject的求值思路是一样的,通过编译并动态生成字节码的方式将表达式编译成一个类,然后反射执行这个类,因此会在效率上比纯解释执行的IKexpression好一些。 自从上次发布1.0后,还发过1.01版本,不过都没怎么宣传。这次发布一个2.0的里程碑版本,主要改进如下: 1、完整支持位运算符,与java完全一致。 2、优化了性能,平均性能提升100%,函数调用性能提升200%, 3、添加了新函数,包括long、double、str等用于类型转换的函数,添加了string.indexOf函数。 4、完善了用户手册,更新了性能测试。

1、手机连接电脑后,开发者选择-GPU呈现模式分析-“在adb shell dumpsys gfxinfo中”或者“选项线行图”;2、在APP中快速滑动测试页面,不能停顿,10秒左右;3、cmd 中 执行命令 adb shell dumpsys gfxinfo 应用包名 > 保存路径及文件名(例如:d:/FPS.txt);4、查看并分析数据,
Draw:消耗在构建java显示列表的时间。它显示出运行方法用的时间诸如View.onDraw(Canvas)。Process:消耗在Android的2D渲染器执行显示列表的时间。你的视图层次越多,要执行的绘图命令就越多。Execute:消耗在排列每个发送过来的帧的顺序的时间.这部分的图通常是很小的。
5、把fps.txt中的N条数据取出,每行数据求和后排序;
如果开发app的性能目标就是保持60fps,即Draw+Process+Execute三者和小于16.67毫秒,则时间为1000/60=16.67毫秒。大于16.67则为不通过数据。
1、手机连接电脑,使用xcode-open developer tool - instrument-core animation,
注:大多数手机的屏幕刷新频率是60hz,如果在1000/60=16.67ms内没有办法把这一帧的任务执行完毕,就会发生丢帧的现象。
2、选择对应的手机对应的应用。到应用滑动页面,开始后,滑动页面,一直划查看帧率