public void release() {
    if (mNativeObject != 0) {
        nativeRelease(mNativeObject);
        mNativeObject = 0;
        mNativeHandle = 0;
        mCloseGuard.close();
    }
}

static void nativeRelease(JNIEnv* env, jclass clazz, jlong nativeObject) {
    sp<SurfaceControl> ctrl(reinterpret_cast<SurfaceControl *>(nativeObject));
    ctrl->decStrong((void *)nativeCreate);
}