总结一些Android studio不常用的小功能
不能运行main方法?
在.idea下的gradle.xml文件下,节点下加入
<option name=“delegatedBuild” value=“false” />,
重新build项目即可
打印Java对象的内存占用情况和大小
在gradle中引入 implementation ‘org.openjdk.jol:jol-core:0.14’;然后看代码
public static void main(String[] args) {
byte[] intDatas = new byte[10];
Object[] objects = new Object[10];
System.out.println(ClassLayout.parseInstance(intDatas).toPrintable());//输出 l对象 的布局
System.out.println(ClassLayout.parseInstance(objects).toPrintable());//输出 l对象 的布局
}
看结果:
在控制台打印字节码指令
第一步:找到 External Tools如图,点击加号
如图描述
我的输入是:
Name,show byte code // 在右键菜单选项中展示。
Decriptions,show byte code 描述此功能
Program:E:\Java\jdk1.8.0_271\bin\javap.exe 这里当然要换成你自己的javap地址。
Arguments:填写 -c $FileNameWithoutExtension$.class 就可以,代表编译的class文件。
Working directory:填写 $OutputPath$/$FileDirRelativeToSourcepath$ ,代表class文件的工作目录
配置完成了,然后就可以直接用了,右键如图:
可以看到,后面的控制台已经打印出字节码文件了
adb shell am start -W 包名/类名