我的問題是,我的動態壁紙在linearlayout的設置屏幕中顯示一些廣告(它完美地工作),但是當我將它發送到背景(例如:按主頁按鈕)時,似乎adview未被銷燬,更高的CPU使用率(25-50%)。如果我關閉了我的互聯網連接,或者只是移除廣告顯示代碼,它就可以無需轉動。 我調查了這個問題後,發現(https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals)我必須銷燬onDestroy上的adview,但我的問題是,這應該發生在我無法訪問adview的活動中。我不知道如何解決這個問題,所以如果你有任何想法,請幫助我。 我的代碼: AdPreference.java:android動態壁紙:如何摧毀adview?
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;
}
和我的活動: 公共類偏好設置擴展PreferenceActivity 實現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)
{
} }