ライブ壁紙の設定画面に線形レイアウトで広告が表示されるという私の問題(完全に機能します)が、バックグラウンドに送信すると(例:ホームボタンを押す)、広告ビューが破棄されず、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)
{
} }