何时会出现“fill-new-array”指令?

时间:2013-11-01 05:46:54

标签: java dalvik dex instructions

现在我想看看这个指令的每个参数实际意味着什么剂量,但是没有关于我用来编写java代码的方式,我从来没有在dex中看过fill-new-array:

int[] iArr1 = new int[5];//just a new-array
int[] iArr2 = {3, 4, 5, 6};//a "new-array" and "fill-array-data"

我认为iArr2应该生成一个填充的新数组,元素是 那么,如何在dex文件中生成一个填充的新数组指令?

每一个有用的答案都将不胜感激!

1 个答案:

答案 0 :(得分:1)

填充新数组操作码通常在创建多维数组时使用。

下面的任何一个都应该为你提供一个填充的新数组指令。

int[][] iiArr1 = new int[1][2];
int[][] iiArr2 = new int[][] { { 3, 4, 5, 6 }, { 7, 8, 9, 0} };

为了找到其他操作码的类似示例,我建议查看dx工具的测试,它具有生成大多数操作码的示例java代码。例如,this test具有生成fill-new-array操作码的示例java代码