BottomNavigationViewを含むMainActivityの静的インスタンスを作成しようとしていますが、これは常に警告を出しています。静的フィールドにアンドロイドコンテキストクラスを配置するとメモリリークが発生することがわかりますが、BottomNavigationViewを使用している場合にのみこの警告が表示されます。この警告がBottomNavigationViewなしで表示されない理由と、この警告を取り除く最も良い方法は何か分かりません。BottomNavigationViewを含むMainActivityの静的インスタンスを作成する
警告メッセージ:
は、静的フィールドに(
BottomNavigationView
を指すフィールドbottomNav
がありMainActivity
に静的 参照)をAndroidのコンテキスト・クラスを置かないでください。これは私のコードのメモリリークである(とも インスタントランを破る)
:
public class MainActivity extends AppCompatActivity {
BottomNavigationView bottomNav;
ImageView rootIndicator;
...
...
}
public class Utils {
public static MainActivity activity;
...
...
}
提案をいただきありがとうございますが、私はこれを解決するための他の方法を見つけることができませんでした。実際には、静的メソッドを作成して、** PackageManager **クラスを使用してインストールされたアプリケーションについての情報を取得し、** PackageManager **クラスのアクティビティコンテキストを必要とするので、MainActivityコンテキストを静的参照として保存する必要があります。これを処理する別の方法がある場合は、私に教えてください。 –