Android 安卓:膨胀类时出错<;未知>;由OutOfMemoryError引起:位图大小超过VM预算

Android 安卓:膨胀类时出错<;未知>;由OutOfMemoryError引起:位图大小超过VM预算,android,imageview,Android,Imageview,我有一个膨胀类错误的错误,这似乎是由位图引起的(更多详细信息如下:),但当我评论位图时,我仍然有错误,而当我评论Imageview5时,没有错误。stackoverflow上所有关于此错误的帖子都无助于解决我的问题 02-04 10:03:04.353: E/AndroidRuntime(17427): FATAL EXCEPTION: main 02-04 10:03:04.353: E/AndroidRuntime(17427): java.lang.RuntimeException: Un

我有一个膨胀类错误的错误,这似乎是由位图引起的(更多详细信息如下:),但当我评论位图时,我仍然有错误,而当我评论Imageview5时,没有错误。stackoverflow上所有关于此错误的帖子都无助于解决我的问题

02-04 10:03:04.353: E/AndroidRuntime(17427): FATAL EXCEPTION: main
02-04 10:03:04.353: E/AndroidRuntime(17427): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kersplatt/com.example.kersplatt.ShareActivity}: android.view.InflateException: Binary XML file line #23: Error inflating class <unknown>
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.os.Looper.loop(Looper.java:130)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.ActivityThread.main(ActivityThread.java:3683)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at java.lang.reflect.Method.invokeNative(Native Method)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at java.lang.reflect.Method.invoke(Method.java:507)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at dalvik.system.NativeStart.main(Native Method)
02-04 10:03:04.353: E/AndroidRuntime(17427): Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class <unknown>
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.createView(LayoutInflater.java:518)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:209)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.Activity.setContentView(Activity.java:1657)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at com.example.kersplatt.ShareActivity.onCreate(ShareActivity.java:64)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-04 10:03:04.353: E/AndroidRuntime(17427):    ... 11 more
02-04 10:03:04.353: E/AndroidRuntime(17427): Caused by: java.lang.reflect.InvocationTargetException
02-04 10:03:04.353: E/AndroidRuntime(17427):    at java.lang.reflect.Constructor.constructNative(Native Method)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.view.LayoutInflater.createView(LayoutInflater.java:505)
02-04 10:03:04.353: E/AndroidRuntime(17427):    ... 23 more
02-04 10:03:04.353: E/AndroidRuntime(17427): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.content.res.Resources.loadDrawable(Resources.java:1709)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.widget.ImageView.<init>(ImageView.java:118)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.widget.ImageView.<init>(ImageView.java:108)
02-04 10:03:04.353: E/AndroidRuntime(17427):    ... 26 more
02-04 10:03:04.353:E/AndroidRuntime(17427):致命异常:主
02-04 10:03:04.353:E/AndroidRuntime(17427):java.lang.RuntimeException:无法启动活动组件信息{com.example.kersplatt/com.example.kersplatt.ShareActivity}:android.view.InflateException:二进制XML文件行#23:膨胀类时出错
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.os.Handler.dispatchMessage(Handler.java:99)上
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.os.Looper.loop(Looper.java:130)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于android.app.ActivityThread.main(ActivityThread.java:3683)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于java.lang.reflect.Method.Invokenactive(本机方法)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于java.lang.reflect.Method.invoke(Method.java:507)
02-04 10:03:04.353:E/AndroidRuntime(17427):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
02-04 10:03:04.353:E/AndroidRuntime(17427):在dalvik.system.NativeStart.main(本机方法)
02-04 10:03:04.353:E/AndroidRuntime(17427):由以下原因引起:android.view.InflateException:二进制XML文件行#23:膨胀类时出错
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.createView(LayoutInflater.java:518)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于com.android.internal.policy.impl.PhoneLayoutFlater.onCreateView(PhoneLayoutFlater.java:56)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.inflate(LayoutInflater.java:408)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.inflate(LayoutInflater.java:320)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.inflate(LayoutInflater.java:276)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:209)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于android.app.Activity.setContentView(Activity.java:1657)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于com.example.kersplatt.ShareActivity.onCreate(ShareActivity.java:64)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-04 10:03:04.353:E/AndroidRuntime(17427):。。。还有11个
02-04 10:03:04.353:E/AndroidRuntime(17427):由以下原因引起:java.lang.reflect.InvocationTargetException
02-04 10:03:04.353:E/AndroidRuntime(17427):位于java.lang.reflect.Constructor.constructNative(本机方法)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于java.lang.reflect.Constructor.newInstance(Constructor.java:415)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.view.LayoutInflater.createView(LayoutInflater.java:505)
02-04 10:03:04.353:E/AndroidRuntime(17427):。。。23多
02-04 10:03:04.353:E/AndroidRuntime(17427):原因:java.lang.OutOfMemory错误:位图大小超出VM预算
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.graphics.BitmapFactory.NativeDeacSet(本机方法)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)上
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.graphics.drawable.drawable.createFromResourceStream(drawable.java:697)上
02-04 10:03:04.353:E/AndroidRuntime(17427):位于android.content.res.Resources.loadDrawable(Resources.java:1709)
02-04 10:03:04.353:E/AndroidRuntime(17427):位于android.content.res.TypedArray.getDrawable(TypedArray.java:601)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.widget.ImageView。(ImageView.java:118)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.widget.ImageView。(ImageView.java:108)
02-04 10:03:04.353:E/AndroidRuntime(17427):。。。26多
我的第23行是imageview5

   <ImageView
         android:id="@+id/imageView5"
         android:layout_width="85dp"
         android:layout_height="100dp"
         android:layout_marginLeft="8dp"
         android:layout_marginTop="20dp"
         android:adjustViewBounds="true"
         android:src="@drawable/diviseur" />

这是一个非常容易引起误解的错误,但它是由嵌套异常引起的,因为VM已经耗尽了可提取除数的内存。请参见堆栈跟踪的结尾:

02-04 10:03:04.353: E/AndroidRuntime(17427): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.content.res.Resources.loadDrawable(Resources.java:1709)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.widget.ImageView.<init>(ImageView.java:118)
02-04 10:03:04.353: E/AndroidRuntime(17427):    at android.widget.ImageView.<init>(ImageView.java:108)
02-04 10:03:04.353: E/AndroidRuntime(17427):    ... 26 more
02-04 10:03:04.353:E/AndroidRuntime(17427):原因:java.lang.OutOfMemory错误:位图大小超出VM预算
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.graphics.BitmapFactory.NativeDeacSet(本机方法)
02-04 10:03:04.353:E/AndroidRuntime(17427):在android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460)上
02-04 10:03:04.353:E/A
Bitmap result = Bitmap.createScaledBitmap(bitmapPicture,
                    imageWidth, imageHeight, false);
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPurgeable = true; // Tell to garbage collector that whether it needs free memory, the Bitmap can be cleared
opts.inTempStorage = new byte[32 * 1024];