2011-08-17 64 views
1
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.falling.inairproandmark/com.falling.inairproandmark.Q9Popup}: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown> 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:4627) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class <unknown> 
at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:219) 
at android.app.Activity.setContentView(Activity.java:1647) 
at com.falling.inairproandmark.Q9Popup.onCreate(Q9Popup.java:36) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
... 11 more 
Caused by: java.lang.reflect.InvocationTargetException 
at android.widget.Button.<init>(Button.java:65) 
at java.lang.reflect.Constructor.constructNative(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
... 22 more 
Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
at android.graphics.Bitmap.nativeCreate(Native Method) 
at android.graphics.Bitmap.createBitmap(Bitmap.java:468) 
at android.graphics.Bitmap.createBitmap(Bitmap.java:435) 
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:340) 
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:488) 
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:462) 
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:323) 
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697) 
at android.content.res.Resources.loadDrawable(Resources.java:1709) 
at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
at android.view.View.<init>(View.java:1885) 
at android.widget.TextView.<init>(TextView.java:352) 
at android.widget.Button.<init>(Button.java:69) 
... 26 more 

==問題的堆棧跟蹤在Android Market

這裏是我的XML佈局:

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 



    <Button android:background="@drawable/q9popup" android:id="@+id/qnine" 
     android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    </Button> 


    <com.google.ads.AdView android:id="@+id/adView" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          ads:adUnitId="**********" 
          ads:adSize="BANNER" 
          ads:loadAdOnCreate="true"/>        
</AbsoluteLayout> 

我不明白爲什麼我不斷收到此錯誤:■

請幫助。

謝謝

+0

您正在使用哪種的AdMob SDK版本? 4.1.1?你是否從Activity的onDestroy()中調用了AdView.destroy()? – devconsole

+0

你的XML文件中的第9行是什麼? – hooked82

+1

1)AbsoluteLayout已被棄用 – Blundell

回答

0

Android無法爲按鈕分配內存。 Pre-Honeycomb使用malloc爲Dalvik虛擬機之外的本地分配內存,並且必須依靠Java終結器來再次釋放內存。除非你打電話給Bitmap.recycle。

對位圖的分配一些信息見http://www.youtube.com/watch?v=_CruQY55HOk&feature=player_detailpage#t=650s

所以,你必須弄清楚爲什麼外部配置是在您的應用程序如此之高。也許AdMob是原因。確保在您的活動的onDestroy中調用AdView.destroy。

+0

感謝我在我的活動的每個按鈕加入此代碼的onPause (); \t \t \t \t \t的onStop(); \t \t \t \t \t的onDestroy(); 。我希望這可以解決。 AdView.destroy也不工作,它說摧毀不被認可。我有最新的admob 4.1.1 – Wahidf