0

私はAndroidアプリを開発していて、自分が作成したライブラリを使用しています。このライブラリには、いくつかの静的フィールドを含むクラスがあります。それらの1つはAPIキーです。このキーは、リモートサービスで呼び出しを行うために、ライブラリ内の他のクラスによって使用されます。

メインアクティビティのAPIキーが作成され、savedInstanceStateがnullの場合、一度初期化します。

私の問題は他のアクティビティにあります。ライブラリで呼び出しを行うときに正しいAPIキーを使用することもあれば、使用しないこともあるからです。APIキーが設定されていないようです。

特に、APIキーが設定されていないため、常に失敗する設定アクティビティから呼び出すアクティビティが1つあります。

通常のJavaアプリケーションのように、静的フィールドはアクティビティ間で維持されませんか?特定のjvmインスタンスでは、すべての静的フィールドが保持されると思いました。Androidプラットフォームは新しいアクティビティに新しいjvmインスタンスを使用していますか?

4

2 に答える 2

1

読んでください:

http://developer.android.com/guide/topics/fundamentals.html#procthread

アプリはプロセスで実行されています。プロセスがバックグラウンドにある間に、プロセスを強制終了する必要がある場合があります。アプリは、バックグラウンドで(ex Activity.onSaveInstanceState()を使用して)適切な状態を正しく保存するか、後で新しいプロセスで再起動するときに状態を再構築する必要があります。

于 2010-09-24T03:16:59.197 に答える
0

静的フィールドに直接または間接的にアクセスしていますか?他のアクティビティがApiキーで混乱していますか?その場合はsynchronized、アクセスする前に行う必要があります

于 2010-09-23T23:53:06.833 に答える