0

ライブ壁紙の設定画面に線形レイアウトで広告が表示されるという私の問題(完全に機能します)が、バックグラウンドに送信すると(例:ホームボタンを押す)、広告ビューが破棄されず、CPUが高くなるようです使用率 (25-50%)。インターネット接続をオフにするか、広告表示コードを削除すると、回転せずに機能します。質問を調査した後、onDestroy で adview を破棄する必要があることがわかりました ( https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals )が、私の問題は、これがアドビューに到達できないアクティビティ。また、どうすれば解決できるのかもわからないので、どなたかご存知でしたら教えてください。私のコード: AdPreference.java:

public class AdPreference extends Preference {
public AdPreference(Context context, AttributeSet attrs, int defStyle) {super (context, attrs, defStyle);}
public AdPreference(Context context, AttributeSet attrs) {super(context, attrs);}
public AdPreference(Context context) {super(context);}
public AdView adView;
@Override  
protected View onCreateView(ViewGroup parent) {
  // this will create the linear layout defined in ads_layout.xml
  View view = super.onCreateView(parent);

  // the context is a PreferenceActivity
  Activity activity = (Activity)getContext();


  // Create the adView
  adView = new AdView(activity, AdSize.BANNER, "mybanner");
  ((LinearLayout)view).addView(adView);

  // Initiate a generic request to load it with an ad
  AdRequest request = new AdRequest();
  adView.loadAd(request);                 
  return view;    
  }

そして私の活動: public class Prefs extends PreferenceActivity implement SharedPreferences.OnSharedPreferenceChangeListener {

 @Override
 protected void onCreate(Bundle icicle) {
 super.onCreate(icicle);
 addPreferencesFromResource(R.xml.wallpaper_settings);   

  }
 @Override
 protected void onDestroy()
{               
 getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
 super.onDestroy();
}

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
{
} }
4

1 に答える 1

0

私はこれが得意ではないので間違っている可能性がありますが、

@Override
  public void onDestroy() {
    if (adView != null) {
      adView.destroy();
    }
    super.onDestroy();
  }

またはそのようなもの。つまり、ライブ壁紙に広告リクエストを停止するように指示する場所はどこにもありません。

私が言ったように、私は間違っているかもしれませんが、それは当面の問題に関する私の信念です.

于 2013-08-10T05:58:52.020 に答える