2
従来のSystem.loadLibrary()メソッドを使用して、静的なJavaブロックから共有ライブラリをロードします。ライブラリには静的に割り当てられたグローバルオブジェクトがあります。Android - ネイティブなグローバルオブジェクトデストラクタは一度も呼び出されません
class Foo
{
public:
Foo()
{
}
~Foo()
{
logtofile("Foo::~Foo() called");
}
}
Foo dummy;
グローバル関数logtofileは、ログファイルをsdcardに書き込みます。ライブラリがロードされるときにコンストラクタが呼び出される間、デストラクタは決して呼び出されないようです。私は、2つのコンストラクタの間でデストラクタ呼び出しが必要であると予想していました。だから問題は、Fooデストラクタが呼ばれたときです。