星点龟,本溪洋湖沟,紫色蜜桃约会网
利用周末的时间,写了一个检测android代码jit友好度的工具,取个名字为droidjitchecker。希望可以帮助大家快速发现有坏味道的代码,并且及时修正。
名词解释
这是什么
前提准备
安装
安装jitwatch组件
获取代码
git clone git@github.com:adoptopenjdk/jitwatch.git
编译
进入上面的repo目录,采用以下三种方法之一即可
ant
ant clean compile test run
maven
mvn clean compile test exec:java
gradle
gradlew clean build run
配置
获取本repo的代码,并打开config.ini文件修改
[setup] jarscan = "/users/androidyue/github/jitwatch/jarscan.sh" maxmethodsize = 325 outputdir = "/tmp/droidjitchecker/output_new/"
修改说明
如何使用
使用比较简单,打开终端,执行如下语句
ruby jitchecker.rb your_android_project jartask
注意:jartask是一个将工程的java文件编译成jar包的任务,可以通过执行./gradlew tasks 查看,然后选择以jar开头的任务即可。
查看结果
一个典型的内容示例
md4.mdfour64
package:com.app.utils parameters:int[] bytesize:1129
如何解决
贡献代码
任何有帮助的建议都欢迎。
以下代码贡献更收欢迎
美化结果展示页面(html,css)
问题
问:字节量大的方法一定要修改么,修改后就能jit编译么
答:字节量大的方法建议修改,非强制,修改后不一定就能jit编译,因为对jit优化并不意味着jit就编译该方法,还需要其他因素,比如该方法的调用频率。所以这是一个你情我愿的事情。
为什么用ruby
答:有了idea时很纠结,因为不确定用什么语言实现,尤其是在python和ruby之间,为此问了不少同学,最后“一意孤行”决定用ruby了,不喜欢python的强制对齐,超级喜欢ruby的字符串模板。ruby很简单,很人性化,相信你会喜欢的。
源码
droidjitchecker@github
以上就是对android jit 代码友好度检测工具的资料整理,谢谢大家对本站的支持!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论