Android 带有LibGDX 1.2.0内存泄漏的AdMob
我对Libgdx和AdMob都是新手。最近我一直在努力让两人一起工作。然而,每当我通过Eclipse在我的设备上启动应用程序时,它什么也不做,过了一段时间我的笔记本速度太慢,我猜是内存泄漏 我检查了所有官方和非官方教程,甚至libgdx的github和其他人的笔记和代码,但我就是找不到它为什么不起作用的线索 是否有人正在使用最新的AdMob运行最新的Libgdx(1.2.0)示例代码 这就是我所拥有的,注意:我留下了BANNER\u ID和TEST\u IDAndroid 带有LibGDX 1.2.0内存泄漏的AdMob,android,eclipse,memory-leaks,libgdx,admob,Android,Eclipse,Memory Leaks,Libgdx,Admob,我对Libgdx和AdMob都是新手。最近我一直在努力让两人一起工作。然而,每当我通过Eclipse在我的设备上启动应用程序时,它什么也不做,过了一段时间我的笔记本速度太慢,我猜是内存泄漏 我检查了所有官方和非官方教程,甚至libgdx的github和其他人的笔记和代码,但我就是找不到它为什么不起作用的线索 是否有人正在使用最新的AdMob运行最新的Libgdx(1.2.0)示例代码 这就是我所拥有的,注意:我留下了BANNER\u ID和TEST\u ID package com.samyno
package com.samynoname.treasurebox.android;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.samynoname.treasurebox.TreasureBox;
public class AndroidLauncher extends AndroidApplication {
private static final String BANNER_ID = "MY ID";
private static final String TEST_DEVICE_ID = "TEST ID";
protected AdRequest requestAd;
protected AdView bannerAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
FrameLayout layout = new FrameLayout(this);
TreasureBox game = new TreasureBox();
View gameView = initializeForView(game, config);
requestAd = new AdRequest.Builder().addTestDevice(TEST_DEVICE_ID).build();
bannerAd = new AdView(this);
bannerAd.setAdSize(AdSize.BANNER);
bannerAd.setAdUnitId(BANNER_ID);
bannerAd.loadAd(requestAd);
bannerAd.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT,
Gravity.TOP));
layout.addView(gameView, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
layout.addView(bannerAd);
setContentView(layout);
}
}
这是我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.samynoname.treasurebox.android"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/GdxTheme" >
<activity
android:name="com.samynoname.treasurebox.android.AndroidLauncher"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
<!-- Google play services -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!-- Google play Admobs -->
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
我真的非常感谢你的留言 哇。。。经过这么长时间,我终于找到了答案。 下面将详细介绍答案:
Eclipse似乎缺少构建项目的内存。您认为这是由AdMob造成的吗?我在你发布的代码中没有看到任何内存泄漏的迹象。如果有,它可能在你的游戏代码中。好吧,不应该有一个,因为我用我的游戏代码和libgdx的默认“测试游戏”尝试了这个,它只在红色背景中显示libgdx的横幅,但仍然得到相同的结果。。。这看起来是否与admob的代码类似,我只是想确定不是这些代码引起的。谢谢你的回答!!