1

残念ながら、私の Android プロジェクトでは内部状態を持つ C ライブラリを使用する必要があります。ライブラリには、状態維持関数init()release(). init()静的メンバーとメンバーを持つラッパー クラスを作成しましたrelease()。次に、これらのメソッドへの呼び出しをメイン アクティビティOnCreate()OnDestroy()それぞれに追加しました。

そして、それが私が問題を抱えたところです。システムのメモリが少なく、他のアクティビティがフォアグラウンドにある場合、メイン アクティビティが強制終了され、release()呼び出されます。したがって、ネイティブ ライブラリへの後続の呼び出しはすべて見事に失敗します。

問題は、メイン アクティビティが決して殺されないようにする方法です。または、アクティビティのコールバックで行うよりも、ネイティブ関数を呼び出すためのより良い方法があるでしょうか?

4

1 に答える 1

0

Application授業を見たほうがいいかもしれません。それをオーバーライドして、カスタムApplicationクラスを.xml で宣言できますManifest。クラスの で初期化を行いonCreate()ますApplication

あなたのライブラリが実際に何をしているのかはわかりません。詳しく説明できるかもしれません。また、必要に応じて、 によってService殺される可能性がAndroid低いActivity.

于 2012-06-21T12:35:34.123 に答える