delphi顶部的Java ARC - 调用错误:找不到方法'xxx'

时间:2018-02-02 07:33:34

标签: java android delphi exoplayer

在android和delphi tokyo下(所以只有一个单独的UI线程)我创建了一个OnFrameAvailableListener,并以这种方式将它分配给surfaceTexture:

  fSimpleExoPlayer.stop;
  fSimpleExoPlayer.clearVideoSurface;
  fSimpleExoPlayer.release;
  fSimpleExoPlayer := nil;

  fSurfaceTexture.setOnFrameAvailableListener(nil);
  fSurface.release;
  fSurface := nil;
  fSurfaceTexture.release;
  fSurfaceTexture := nil;

  freeAndNil(FOnFrameAvailableListener);

当我完成所有事情后,我就这样摧毁它:

02-01 22:14:28.525: E/Error(12933): Invoke error: method 'onFrameAvailable' not found
02-01 22:14:28.525: E/Error(12933): At address: $8AA6382B (Androidapi.Jnibridge.dispatchToNative(JNINativeInterface**, Androidapi.Jni._JNIObject*, Androidapi.Jni._JNIObject*, Androidapi.Jni._JNIObject*, Int64) + 902)

问题是 AFTER 我摧毁了一切,很少,我收到这个错误:

^(?=(?:\w+ \w+)).*\K\b\w+

所以Java中的东西仍然试图调用OnFrameAvailableListener甚至之后我发布了所有东西:(我认为在Java下它有自己的ARC我们从来没有真正释放任何对象这不是真正的问题和OnFrameAvailableListener即使在我们发布所有内容之后仍然可用,但在delphi下,即使我不执行freeAndNil(FOnFrameAvailableListener);编译器也会将它的引用计数减少为0,从而释放它:(

那我该怎么办?

0 个答案:

没有答案