2016-10-10 9 views
1

私は構築中のAndroidアプリでFacebookのオーディエンスネットワークで働いています。私のonCreateメソッドのコードは、なぜAndroidのFacebookオーディエンスネットワークがdestroyメソッドを呼び出した後でもアクティビティをリークしているのはなぜですか?

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main_activity); 

this.facebookAdOneLayout = (RelativeLayout) findViewById(R.id.facebook_ads_one); 

loadFacebookBannerAds(); 

} 

そして今、Facebookの広告、

private void loadFacebookBannerAds() { 
     this.facebookAdOne = new com.facebook.ads.AdView(this, getString(R.string.fb_ad_id_one), 
       AdSize.BANNER_320_50); 


     //This setting is to load test ads served by Facebook. Just delete whole line in live app 
     AdSettings.addTestDevice("TestDeviceID"); 

     this.facebookAdOneLayout.addView(this.facebookAdOne); 

     this.facebookAdOne.loadAd(); 

    } 

をロードしている私のコードであり、私はまた、onPauseでdestroy()メソッドを呼び出すことにより、Facebookの広告を破壊しています、onDestroyとonStop

if (facebookAdOne != null) { 
      facebookAdOne.destroy(); 
     } 

Facebookのdestroyメソッドを呼び出した後、onPause、onStop、onDestroyのすべてのスーパーメソッドも呼び出しています。私は戻るボタンをクリックすることで活動を終了したときにそう、私のアンドロイドモニターで、私は

Activity test.app.MainActivity has leaked IntentReceiver [email protected] that was originally registered here. Are you missing a call to unregisterReceiver()? 


android.app.IntentReceiverLeaked: Activity test.app.MainActivity has leaked IntentReceiver [email protected] that was originally registered here. Are you missing a call to unregisterReceiver()? 

だから誰が何をすべきかを私に伝えることができる、というエラーメッセージを取得していますか?エラーはどこですか?私はこのための解決策を見つけるために多くを試みたが、Web上で何かを得ることができなかった。

おかげで、Facebook Audience network changelog

+0

どのバージョンのFacebook Audience Network SDKをお使いですか? –

+0

それはSDKの '' 4.8.2'バージョンです –

+0

私も同じ問題に直面しています、助けてください – Abhijit

答えて

1

は、(2016年9月27日にリリース)バージョン4.16.0内部クラスLocalBroadcastReceiverによって引き起こされるメモリリークを言及ラインがあります。 MediaView 参照の上

を保持LocalBroadcastReceiverによって引き起こさ

メモリリークあなたは多くのMediaViewsを作成する場合は、インスタンスが使用するリソースは、最終的にOutOfMemoryErrorを引き起こし、正しく解放されることはありません。 バージョン4.16.0より、このバグは修正されているようですが、私はメモリリークに気づいていません。

残念ながら、別の問題がバージョン4.16.0に登場したようです。 私の経験から、MediaViewのビデオは自動的には再生されません。 MediaView

で非推奨

setAutoplayとsetAutoplayOnMobileこれは、包括的(4.18.0へのバージョンアップのための真のまま:私たちは4.16.0変更履歴から読み取ることができるようまた、自動再生の制御は、削除されました)。私はバージョン4.19.0でテストすることができませんでした。なぜなら、それは不思議なことにカスタムビューのインフレーション中にアプリケーションがクラッシュするためです(それでもなお理由を把握しようとしています)。

関連する問題