0

I am getting the following random Exception when running this Activity. I found another thread here on SO suggesting that all of my styles inherit from parent="android:Theme" but that did not help. I have run HierarchyViewer and layoutopt tools but have not found any problems with the layout file. And I have cleaned the project.

The exception is happening on the line:

ReceiptActivity.java:54 setContentView(R.layout.receipt_activity);

Here is the layout file, receipt_activity.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:orientation="vertical" 
android:background="@drawable/background"> 
<LinearLayout android:layout_width="fill_parent"
 android:paddingLeft="10dip"
 android:paddingRight="10dip"
 android:layout_height="wrap_content" android:orientation="vertical">
 <TextView android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:layout_marginLeft="3dip"
 android:layout_marginRight="3dip"
 android:layout_marginTop="10dip"
 android:textSize="19sp"
 android:text="@string/receipt_question"
 android:gravity="center"/>
 <EditText
 android:id="@+id/txtEmailOrSms"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="30dip"
 android:layout_marginLeft="3dip"
 android:layout_marginRight="3dip" 
 android:textSize="15sp"
 android:maxLines="1" 
 android:layout_gravity="left" 
 android:focusable="true"
 android:focusableInTouchMode="true"
 android:inputType="textEmailAddress"
 android:hint="@string/enter_email"
 android:imeOptions="actionDone" 
 />
 <RadioGroup
 android:id="@+id/receiptTypeRadioGroup"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:orientation="vertical">
 <RadioButton
 android:id="@+id/emailReceipt"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Email Receipt"
 android:textSize="15sp"
 android:checked="true"
 android:width="150dip"
 android:layout_marginRight="5dip"
 android:textColor="#FFF"
 >
 </RadioButton>
 <RadioButton
 android:id="@+id/smsReceipt"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Text Receipt"
 android:textSize="15sp" 
 android:width="150dip" 
 android:layout_marginRight="5dip" 
 android:textColor="#FFF"
 >
 </RadioButton>
 </RadioGroup>
</LinearLayout>
<LinearLayout android:id="@+id/footer" 
 android:layout_width="fill_parent"
 android:layout_height="60dip"
 android:background="@drawable/button_bar_background"
 android:orientation="horizontal"
 android:gravity="bottom"
 android:layout_alignParentBottom="true" 
 style="@android:style/ButtonBar">
 <Button
 android:id="@+id/noThanksBtn"
 android:layout_height="fill_parent"
 android:layout_width="0dip"
 android:layout_weight="1"
 android:layout_marginLeft="1dip"
 style="@style/DarkButton"
 android:text="@string/no_thanks"/>
 <Button
 android:id="@+id/sendReceiptBtn"
 android:layout_height="fill_parent"
 android:layout_width="0dip"
 android:layout_weight="1"
 android:layout_marginRight="1dip"
 style="@style/DarkButton"
 android:text="@string/send_receipt"/> 
</LinearLayout> 
</RelativeLayout>

Here is the Exception:

 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): FATAL EXCEPTION: main
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bestfitmobile.netsecure/com.bestfitmobile.netsecure.ui.ReceiptActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.ActivityThread.access1500ドル(ActivityThread.java:117)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.os.Handler.dispatchMessage(Handler.java:99)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.os.Looper.loop(Looper.java:130)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.ActivityThread.main(ActivityThread.java:3683)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at java.lang.reflect.Method.invokeNative(Native Method)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at java.lang.reflect.Method.invoke(Method.java:507)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at dalvik.system.NativeStart.main(Native Method)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.LayoutInflater.inflate(LayoutInflater.java:386)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.Activity.setContentView(Activity.java:1657)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at com.bestfitmobile.netsecure.ui.ReceiptActivity.onCreate(ReceiptActivity.java:54)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): ... 11 more
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): Caused by: java.lang.reflect.InvocationTargetException
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at java.lang.reflect.Constructor.constructNative(Native Method)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.LayoutInflater.createView(LayoutInflater.java:505)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): ... 21 more
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.content.res.Resources.loadDrawable(Resources.java:1709)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.View.<init>(View.java:1951)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.View.<init>(View.java:1899)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.view.ViewGroup.<init>(ViewGroup.java:286)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): at android.widget.RelativeLayout.<init>(RelativeLayout.java:173)
 07-11 07:08:01.040: ERROR/AndroidRuntime(15635): ... 24 more
asked Jul 11, 2011 at 14:36
1

1 Answer 1

1

The answer is here:

07-11 07:08:01.040: ERROR/AndroidRuntime(15635): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget

The drawable called background is too large. If you remove that it should load fine. Not sure how big that can be, but evidently you used an image too large.

answered Jul 11, 2011 at 14:47
Sign up to request clarification or add additional context in comments.

2 Comments

Thank you very much for this help. The png image is 320x480 and is 209kb. I have no idea why it's failing. That seems reasonably small to me. Any ideas?
That does seem reasonably small. Maybe try the solution pointed out at stackoverflow.com/questions/4894818/… ?

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.