0

同じ アプリケーションにアクティビティ A、アクティビティ B、および静的クラスがあります。シナリオは次のとおりです (ここでは簡略化しています。私のソフトウェアではより理にかなっています)。

  1. (アクティビティ A) mAppctx = this.getApplicationContext();
  2. (アクティビティ A) StaticClass.appctx = mAppctx;
  3. アクティビティ B が生成されます
  4. アクティビティ B の実行中にアクティビティ A がシステムによって破棄されたとします。
  5. アクティビティ B は次のことを行います (疑似コード): ..... = StaticClass.appctx.getResources().openRawResource(...);

これは正しいです?

アプリケーションContext は Application (つまり、プロセス) に属し、 Activity に属していないため、正しい思います。この方法で、静的クラスから問題なく APK リソースにアクセスできます。(アクティビティ B が実際に自分で getApplicationContext() を要求できることはわかっていますが、上記の質問は意図的に異なります。)

4

1 に答える 1

2

はい、アクティビティとアプリケーション コンテキストの両方が同じリソースにアクセスするため、正しいです。

于 2012-05-17T21:17:22.140 に答える