3

UnsatisfiedLinkErrors が散発的に発生し、再現が困難になります。最も一般的なのは、アプリケーションが長時間 (つまり、数時間) 一時停止されている場合です。これらのエラーは、通常は機能する JNI 呼び出しで発生します。

Android は、アプリケーションを完全に閉じずにライブラリをアンロードすることがありますか? ネイティブ ライブラリを 1 つのアクティビティで読み込みますが、それを別のアクティビティでも使用します。Android は、ライブラリをロードしたアクティビティを破棄してアンロードし、それを使用する他のアクティビティが再開されたときにライブラリのリロードに失敗する可能性がありますか?

4

1 に答える 1

1

このようなアクティビティでライブラリをロードするたびに、

   static {
        System.loadLibrary("gamescript");
    }       

次に、ライブラリはローカルの静的メンバーのように Activity クラス内に読み込まれ、アプリが有効になるまでアンロードされません。ただし、クラス外からアクセスできるかどうかは疑問です。

于 2012-05-18T03:55:11.233 に答える