ホームページ  >  に質問  >  本文

java - Activity中的成员变量被赋值之后,Activity被回收的时候内存才会被释放吗

Activity中的成员变量被赋值之后,Actiity被回收的时候内存才会被释放吗
java中一个类中的成员变量被赋值之后,这个类对象被回收时,类中得成员变量才会被释放内存吗

大家讲道理大家讲道理2744日前605

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-18 10:51:07

    この質問は Activity所属的对象被static持有了, 那就导致整个Activity一直存在在内存中. 除非使用WearReference である限り Java に分類されるべきです。

    以下は同様のエラーコードのデモです:

    リーリー

    Android Studio を使用している場合、IDE に次の警告が表示されます: Context オブジェクトを静的変数に割り当てないでください。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:51:07

    質問の説明が不明瞭で、句読点について否定的なコメントはありませんが、答えてみてください:
    グローバルオブジェクトは、静的変更後の変数はこのクラス (クラス) に属している必要があります。特定のオブジェクトに属さないすべてのオブジェクトに対応するクラスを変更する この導出から、静的オブジェクトをリサイクルするオブジェクトがリサイクルされるのは間違っていることがわかるはずです (静的オブジェクトがリサイクルされた後に他のオブジェクトを使用する方法)。リサイクル)
    ここでアクティビティについて説明します。通常の状況では、静的変数を使用して現在のオブジェクトを参照しても問題ありません (シングルトン モードなど)。ただし、Android の設計では、アクティビティは通常のものではありません。このクラスには独自のライフサイクルがあり、期限が切れるとリサイクルされます (関数が強力すぎるため、メモリを占有しすぎるため)。そのため、メモリ リークを報告するために現在のアクティビティへの静的参照を使用するという問題があります。

    返事
    0
  • キャンセル返事