기본 콘텐츠로 건너뛰기

Android OpenCV NDK loadlibrary function in static statement slow down problem

It is odd that when loading OpenCV NDK module in static statement makes app slow. Don't load the module like this.

 static {
     System.loadLibrary("ndk_module");
 }


Load NDK module at onManagerConnected() in BaseLoaderCallback.

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
    @Override public void onManagerConnected(int status) {
        switch (status) {
            case LoaderCallbackInterface.SUCCESS: {
                System.loadLibrary("ndk_module");

                mOpenCvCameraView.enableView();
            }
            break;
            default: {
                super.onManagerConnected(status);
            }
            break;
        }
    }
};

댓글

이 블로그의 인기 게시물

Picasso vs Glide in Android

I started a new project with Picasso first, but had a problem with the orientation of photos. Picasso didn't display a photo properly according to it's orientation. So I changed to Glide which solve the problem. Use 'Glide' if you want to be safe about photo's orientation,

Android Studio, gradle experimental, NDK, and OpenCV

It is really frustrating to build OpenCV native code with new Android Studio. The new Android Studio doesn't use make files, instead, sets compile options in app's builde.gradle file. The new gradle experimental(0.6.0-beta4) has some changes in DSL. It uses '.add' function, not '+='. Look at Sample Project at github AndroidOpenCVNDKDemo . It use Android Studio 2.0 beta5, gradle-experimental:0.6.0-beta, and OpenCV 3.1.0. I hope this will save your time. Useful sites http://tools.android.com/tech-docs/new-build-system/gradle-experimental http://ph0b.com/new-android-studio-ndk-support/ https://github.com/joaopedronardari/OpenCV-AndroidSamples -- 2016.03.06 Updated step by step explanation for Android NDK http://web.guohuiwang.com/technical-notes/androidndk1