2017-01-28 8 views
7

मैंने आपके प्रोटेक लीक कैनरी लाइब्रेरी में स्थापित किया है। इसे एक स्मृति रिसाव मिला, और मुझे जानकारी दी गई, इसके बारे में अनुरोध किया जा सकता है, लेकिन मैं इसे समझ नहीं पा रहा हूं क्योंकि मेरे पास कक्षा में ऐसे अभ्यास नहीं हैं। यह समझने के लिए कि त्रुटि कहां है और इसे कैसे ठीक किया जाए? धन्यवाद।कैसे समझें कि लीक कैनरी दिखाती है?

सार्वजनिक अंतिम वर्ग गतिविधि फैली AppCompatActivity {

InterstitialAd mInterstitialAd; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_fci); 
    getWindow().setBackgroundDrawable(null); 

    final ImageButton btn_pas = (ImageButton) findViewById(R.id.btn_pas); 
    Glide.with(getApplicationContext()).load(R.drawable.fci_2).placeholder(R.color.white).into(btn_pas); 

    mInterstitialAd = new InterstitialAd(this); 
    mInterstitialAd.setAdUnitId("ca-app-pub-..."); 

    requestNewInterstitial(); 
} 

@Override 
public void onBackPressed() { 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
     super.onBackPressed(); 
    } else { 
     super.onBackPressed(); 
    } 
    requestNewInterstitial(); 
} 

private final void requestNewInterstitial() { 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    mInterstitialAd.loadAd(adRequest); 
} 

public final void pas(View view) { 
    Intent intent = new Intent(Activity.this, pas.class); 
    startActivity(intent); 
} 

}

मैं स्क्रीनशॉट संलग्न नहीं कर सकते हैं तो मैं का वर्णन करेंगे LeakCanary लिखता है।

static hk.o 
references ht.a 
leaks Activity instance 
+0

मुझे वही सटीक चीज़ मिलती है, क्या आपने कभी यह पता लगाया था कि रिसाव कहां से आ रहा था? –

+0

@ ड्रू नहीं, मुझे समझ में नहीं आया। – Denis

उत्तर

0

आप रिसाव का सामना कर रहे हैं, क्योंकि InterstitialAd गतिविधि के संदर्भ बचाता है। आप बदलना चाहिए:

mInterstitialAd = new InterstitialAd(this); 

साथ
mInterstitialAd = new InterstitialAd(this.getApplicationContext()); 

में थोड़ा और अधिक जानकारी के लिए, my answer on a similar question देखते हैं।

संबंधित मुद्दे