AdMobに問題が発生し、広告が読み込まれているときに遅延が大きくなります。アンドロイドとイオスのAdmob設定があり、問題はアンドロイドでのみ発生します。古いiPhoneで走っていても、ラグはほとんどないが、ハイエンドのアンドロイド携帯電話(ネクサス6pとlg g4)は遅れている。私はXamarin StudioとMonogameのフレームワークを使って自分のアプリケーションを構築しています。私はまた、広告を別々にスレッドしてみました。AndroidでのみAdMobの遅延が発生する
私はすべての回答を検索しましたが、アンドロイドヒープの上限/サイズについて何か知っていますか?これが問題なのでしょうか?広告を受け取っていないときにゲームが遅れることもありますが、広告のアニメーションが問題であると考えられます。事前にすべての助けをありがとう!ここ
は私のコードである:プレーヤーは、(例えば)レベルを終えたとき
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Create our OpenGL view, and display it
// !IMPORTANT!
var g = new Game1();
//SetContentView((View)g.Services.GetService(typeof(View)));
//createAds((View)g.Services.GetService(typeof(View)));
createAds(g.Services.GetService<View>());
// !IMPORTANT!
g.Run();
}
private void createAds(View window)
{
var frameLayout = new FrameLayout(this);
var linearLayout = new LinearLayout(this);
frameLayout.AddView(window);
adView = new AdView(this);
adView.AdUnitId = AD_UNIT_ID;
adView.AdSize = AdSize.SmartBanner;
adView.SetBackgroundColor(Android.Graphics.Color.Transparent);
linearLayout.AddView(adView);
frameLayout.AddView(linearLayout);
SetContentView(frameLayout);
var myThread = new Thread(new ThreadStart(() =>
{
var requestbuilder = new AdRequest.Builder();
RunOnUiThread(() =>
{
adView.LoadAd(requestbuilder.Build());
});
}));
myThread.Priority = (System.Threading.ThreadPriority)(Android.OS.ThreadPriority)(-20);
myThread.Start();
}
別のスレッドで 'adView.LoadAd'を実行する必要はありません。 admobはすでにそれをあなたのためにしています。 [ここ](https://developers.google.com/android/reference/com/google/android/gms/ads/AdView.html#loadAd(com.google.android.gms.ads.AdRequest))をご覧ください。 – rpattabi