【问题标题】:android live wallpaper: how to destroy adview?android动态壁纸:如何销毁adview?
【发布时间】:2013-08-10 13:58:52
【问题描述】:

我的问题是我的动态壁纸在设置屏幕中以线性布局显示一些广告(效果很好),但是当我将它发送到后台(例如:按主页按钮)时,似乎 adview 没有被破坏并且导致更高的 CPU 使用率 (25-50%)。如果我关闭我的互联网连接或只是删除广告显示代码,它不会旋转。 在我调查了这个问题之后,我发现 (https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals) 我必须在 onDestroy 销毁广告视图,但我的问题是这应该发生在我无法访问广告视图的活动中。而且我不知道如何解决它,所以如果您有任何想法,请帮助我。 我的代码: 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;    
  }

和我的活动: 公共类 Prefs 扩展了 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)
{
} }

【问题讨论】:

    标签: android wallpaper


    【解决方案1】:

    我可能是错的,因为我在这方面不是最好的,但看起来你可能错过了一个

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

    或者类似的东西。我的意思是,我真的没有看到你告诉动态壁纸停止广告请求的任何地方。

    就像我说的,我可能是错的,但这些是我对手头问题的看法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多