0
我有一個使用JNI創建一個C++渲染WallpaperService.Engine的實現:Android JNI:如何實現用Java對象創建和刪除的C++對象?
引擎(JAVA) - >渲染器(C++)
如果渲染器的Java代碼,我可以簡單地陳述
private Renderer renderer = new Renderer();
確保渲染器是使用我的引擎創建的,並在不再需要時自動銷燬。那麼最乾淨的方法是什麼?
P.S:我在想:
int rendererId = createNativeRenderer();
...
draw(rendererId); // call all native renderer methods specifying the object id
...
deleteNativeRenderer(rendererId);
但由於它需要顯式刪除,這是很容易忘記它不是很優雅。