android NDK 实用学习(四)-类缓存
16lz
2021-01-22
1,为什么需要类缓存:
答:由于频繁的查找类及类成员变量需要很大的时间与空间开销,可参考如下文章:
http://www.ibm.com/developerworks/cn/java/j-jni/
http://www.28im.com/java/a2379737.html
2,缓存时需要在java类使用static,如下:
1 package com.dasea.test.core; 2 public class TestSetData { 3 // 主要是类ID和字段ID,方法ID的缓存 4 static { 5 OnNative(); 6 } 7 8 public native static void OnNative(); 9 10 public boolean bData; 11 public double dData; 12 public int iData; 13 public byte cData; 14 public String sData; 15 public byte byteArr[]; 16 17 public int intArr[]; 18 19 public TestSetData() { 20 // TODO Auto-generated constructor stub 21 bData = true; 22 dData = 100.11; 23 iData = 333; 24 cData = 100; 25 sData = "20150204"; 26 byteArr = new byte[10]; 27 for (int i = 0; i < byteArr.length; i++) { 28 byteArr[i] = '2'; 29 } 30 31 intArr = new int[10]; 32 for (int i = 0; i < intArr.length; i++) { 33 intArr[i] = i * 10; 34 } 35 } 36 }