Android Admob OutOfMemoryError
我在应用程序中使用Google Admob广告,但我有很多崩溃报告表明Admob中存在OutOfMemoryError 这是完整的崩溃堆栈跟踪Android Admob OutOfMemoryError,android,webview,admob,out-of-memory,Android,Webview,Admob,Out Of Memory,我在应用程序中使用Google Admob广告,但我有很多崩溃报告表明Admob中存在OutOfMemoryError 这是完整的崩溃堆栈跟踪 java.lang.OutOfMemoryError: bitmap size exceeds VM budget at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) at android.graphics.BitmapFactory.decodeStream(Bitmap
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:359)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:715)
at android.content.res.Resources.loadDrawable(Resources.java:1721)
at android.content.res.Resources.getDrawable(Resources.java:585)
at android.webkit.WebView.setOverScrollMode(WebView.java:1079)
at android.view.View.<init>(View.java:1903)
at android.view.View.<init>(View.java:1945)
at android.view.ViewGroup.<init>(ViewGroup.java:320)
at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
at android.webkit.WebView.<init>(WebView.java:997)
at android.webkit.WebView.<init>(WebView.java:980)
at android.webkit.WebView.<init>(WebView.java:970)
at android.webkit.WebView.<init>(WebView.java:961)
at com.google.android.gms.ads.internal.o.a.<init>(SourceFile:136)
at com.google.android.gms.ads.internal.o.a.a(SourceFile:124)
at com.google.android.gms.ads.internal.b.a(SourceFile:484)
at com.google.android.gms.ads.internal.request.e.run(SourceFile:191)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:138)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
at dalvik.system.NativeStart.main(Native Method)
java.lang.OutOfMemoryError:位图大小超出VM预算
在android.graphics.BitmapFactory.NativeDecodeset(本机方法)
位于android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
位于android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:359)
位于android.graphics.drawable.drawable.createFromResourceStream(drawable.java:715)
位于android.content.res.Resources.loadDrawable(Resources.java:1721)
位于android.content.res.Resources.getDrawable(Resources.java:585)
位于android.webkit.WebView.setOverScrollMode(WebView.java:1079)
在android.view.view.(view.java:1903)
在android.view.view.(view.java:1945)
在android.view.ViewGroup。(ViewGroup.java:320)
在android.widget.AbsoluteLayout。(AbsoluteLayout.java:52)
位于android.webkit.WebView(WebView.java:997)
在android.webkit.WebView上(WebView.java:980)
在android.webkit.WebView上(WebView.java:970)
位于android.webkit.WebView(WebView.java:961)
位于com.google.android.gms.ads.internal.o.a.(源文件:136)
位于com.google.android.gms.ads.internal.o.a.a(源文件:124)
位于com.google.android.gms.ads.internal.b.a(源文件:484)
位于com.google.android.gms.ads.internal.request.e.run(源文件:191)
位于android.os.Handler.handleCallback(Handler.java:587)
位于android.os.Handler.dispatchMessage(Handler.java:92)
位于android.os.Looper.loop(Looper.java:138)
位于android.app.ActivityThread.main(ActivityThread.java:3701)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:507)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
在dalvik.system.NativeStart.main(本机方法)
我在xml文件中定义广告
<com.google.android.gms.ads.AdView
android:id="@+id/adView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="SMART_BANNER"
ads:adUnitId="ID" />
请帮我解决这个错误好吗
关于您可以使用我的代码,该代码运行良好。我正在使用表来显示外接程序xml 这是我的建议,使用谷歌play服务,效果很好
TableRow TR = (TableRow) findViewById(R.id.TR);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(getString("your admob id here"));
AdRequest adRequest = new AdRequest.Builder().build();
TR.addView(adView);
adView.loadAd(adRequest);
xml代码
<TableRow
android:id="@+id/TR"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal" />
清单文件
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data
android:name="com.google.android.gms.version"
android:value="5089000" />
在定义代码的位置显示部分代码admob@raj问题已更新此问题可能是由于应用程序的某些部分使用了太多内存造成的。您是否总是或仅在某些设备上看到此异常?@user714965此异常是从不同的设备和不同的android版本报告的。我正在做类似的事情,为什么您使用表行来添加广告视图?bcoz我无法使用google play服务在xml版面中加载广告您可以在xml中加载广告,请参阅随Google play服务附带的admob示例,libi仅提供了一种替代方法