バックグラウンド操作に既存の C ライブラリを使用する Android アプリケーションを構築しようとしています (つまり、ラジオ スキャン、ステーションへのチューニングなどを行います)。スタンドアロンの C 実行可能ファイルとして、メインループは下位レベル (ハードウェア コンポーネント) からのメッセージ処理を処理できます。私の理解では、JNIを使用すると、メイン関数は必要ありません。
1) 共有ライブラリが作成され、
2) 共有ライブラリは、それをロードした Java スレッドが生きている限り「生きている」。
では、C ライブラリが複数のスレッドを使用すると仮定すると、通常は最初のメインループで行われるメッセージ処理はどこで行われるのでしょうか? JNI 関数と一緒に宣言された C 関数を呼び出すのと同じくらい簡単ですか?