JNI を使用して C++ レンダラーを作成する WallpaperService.Engine の実装があります。
エンジン (Java) -> レンダラー (C++)
レンダラーが Java コードの場合、簡単に述べることができます
private Renderer renderer = new Renderer();
レンダラーがエンジンで作成され、不要になったときに自動的に破棄されるようにします。では、これを行う最もクリーンな方法は何ですか?
PS:私は考えていました:
int rendererId = createNativeRenderer();
...
draw(rendererId); // call all native renderer methods specifying the object id
...
deleteNativeRenderer(rendererId);
しかし、忘れがちな明示的な削除が必要なため、あまりエレガントではありません。