0

カスタムROM用のAndroidフレームワークを使用しています。理由から、データのクローンを作成するのではなく、参照によってオブジェクトを別のアプリケーションに送信する必要があります。ParcelableまたはJsonを介してデータをコピーする必要があるため、AIDLまたはインテントは必要ありません。

このような:

App1
void func1(TextView t)
{
   App2.func2(t);
}

App2
void func2(TextView t)
{
   String s=t.toString();
}

JVMにはプロセスの概念がなく、プロセスの境界がないと聞いたので、参照を送信できると思います。出来ますか?そうでない場合は、C ++共有メモリを使用するJNIで実行できますか?

4

2 に答える 2

0

AndroidにはDalvikと呼ばれる独自の仮想マシンがあり、JVMとは対照的に、DalvikはDalvikVM(プロセス)のさまざまなインスタンスでさまざまなアプリケーションを実行します。したがって、AndroidにはいくつかのIPCメカニズムがあります(バインダーはそのうちの1つです)。

あなたの場合、あなたはアシュメムを使う必要があります。これは一種の共有メモリですが、特にAndroid用です。私はこの分野で理論的な知識しか持っておらず、自分で試したことはありません。

共有メモリ領域を作成する方法についての記事があります

于 2012-07-11T20:40:54.133 に答える
0

いいえ、同じ参照を持つことはできません。唯一の方法は、さまざまなIPCメカニズムを介してオブジェクトをコピーすることですが、これらはメモリを共有できない2つの別個のプロセスであるため、参照は異なります。

于 2015-06-30T10:19:55.413 に答える