Android 中如果想处理preivew 数据(如人脸跟踪),直接在java层的callback函数会引起频繁的内存申请和copy,就算是利用最新的setPreviewCallbackWithBuffer函数,跨JNI层的内存copy还是逃不了的。另外,我们的算法往往是C,所以还要再跨一层JNI,就更麻烦了。
所以好的方法是直接在JNI下面利用Camera对象和CameraListener(的继承类)来做。自己写个java层的camera来被最后的应用程序来调用。
难度不大,随便记录下: