小编dev*_*vin的帖子

未定义的AAssetManager_fromJava引用

我试图使用AAssetManager从Android apk访问资产.但是,我继续得到"未定义的AAssetManager_fromJava引用",即使我已经包含了asset_manager.h和asset_manager_jni.h.也可以不引用asset_manager.h中的其他函数,如AAssetManager_openDir(mgr,"")等.

这是完整的代码

#define EXPORT_API

#include <string.h>
#include <jni.h>
#include <android\log.h>

#include <sys\types.h>
#include <android\asset_manager.h>
#include <android\asset_manager_jni.h>

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "com.devin - native", __VA_ARGS__)

JNIEnv* env=0;

#ifdef __cplusplus
extern "C" {
#endif

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* pvt){
    LOGD("JNI_OnLoad() called");
    vm->AttachCurrentThread(&env, 0);
    return JNI_VERSION_1_2;
}

EXPORT_API void LoadAsset(char* filename, jobject assetManager){
    AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
        /* More stuff */
}

#ifdef __cplusplus
};
#endif
Run Code Online (Sandbox Code Playgroud)

此代码位于.cpp文件中,并使用NDK R8进行编译.我在这里做了什么非常错的事吗?

android android-ndk android-assets

11
推荐指数
2
解决办法
9486
查看次数

将时间序列元素的Tensorflow数据集转换为窗口序列的数据集

我有一个tf.data.Dataset(r1.4),其元素表示一个时间序列。例如(换行符分隔单独的元素):
1 2 3 4 5 6 7 8 9

现在,我要在其上运行窗口操作,以便获得长度为WINDOW_SIZE的子序列的数据集,以训练RNN。例如,对于WINDOW_SIZE = 4:

1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8
6 7 8 9
Run Code Online (Sandbox Code Playgroud)

我可以找到的最接近的数据集op是tf.contrib.data.group_by_window,但是不确定如何在此用例中应用它。
另一种方法是使用tf.contrib.data.batch_and_drop_remainder,但它将元素划分为存储桶,并且不会包含所有子序列。
我想到的第三个选项是创建WINDOW_SIZE迭代器,并分别运行它们,使其指向连续的元素,然后按顺序开始使用它们。但是,这看上去与直觉相反。

tensorflow

5
推荐指数
1
解决办法
691
查看次数

在Android上使用Irrlicht的低帧速率

我已经从http://gitorious.org/irrlichtandroid/编译了一个Android端口Irrlicht,并制作了一个应用程序来加载一个lo res SkyBox.但是,我得到了不可预测的帧速率.在模拟器上,fps永远不会超过5.在带有eclair的DELL XCD35上,它通常不会超过10 fps,但是,在大约10次启动中,应用程序以60 fps运行良好.活动配置为全屏横向模式.

以下是代码,我省略了类头文件以保持帖子简短.

BlueStoneActivity.java

public class BlueStoneActivity extends Activity {
    static {
        System.loadLibrary("irrlicht");
        System.loadLibrary("bluestone");
    }

    GLSurfaceView glView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        glView=new GLSurfaceView(this);
        glView.setRenderer(new IrrlichtRenderer(this));
        setContentView(glView);
        Debug.startMethodTracing("bstone");
        nativeOnCreate();
    }

    @Override
    protected void onDestroy() {
        nativeOnDestroy();
        super.onDestroy();
        Debug.stopMethodTracing();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    public native void nativeOnCreate();
    public native void nativeOnDestroy();
    public native void nativeOnPause();
    public native void nativeOnResume(); …
Run Code Online (Sandbox Code Playgroud)

android irrlicht game-engine android-ndk

2
推荐指数
1
解决办法
1721
查看次数