ho pensato a questa domanda sarebbe stato chiesto prima, ma non ho potuto trovare qui ...forza Java per chiamare il mio distruttore C++ (JNI)
ho usato SWIG per creare un wrapper JNI intorno ad un Classe C++. Tutto funziona alla grande eccetto che Java non sembra mai chiamare finalize della classe(), quindi, a sua volta, il distruttore della mia classe non viene mai chiamato. Il distruttore della classe esegue alcuni I/O di file finali, quindi sfortunatamente non si tratta solo di una piccola perdita di memoria.
Ricerca in Google, non sembra essere un modo per forzare Java a GC e distruggere un oggetto. Vero?
So che potrei manipolare il mio file SWIG e creare una funzione java che chiamerebbe il distruttore C++, ma questa classe è utilizzata dagli utenti finali in diverse piattaforme/lingue, quindi l'aggiunta di un solo Java creerà un incoerenza che i nostri scrittori tecnologici non gradiranno.