galaxy s4 and maybe all HD phones? out of memory error inflating layout(银河s4,也许所有的高清手机?内存不足错误膨胀布局)
问题描述
所以我正在开发的这个应用程序在一部非常旧的可怜的 Android 2.3.3 手机上运行良好.然而,当在 GS4 上运行它时,GS4 每次必须从可绘制资源中加载资源时都会抛出内存异常,这是在 xml 中预定义的.
So this app I am working on, works just fine on a really old miserable Android 2.3.3 phone. However when running it on the GS4, the GS4 is throwing out of memory exceptions every time is has to load a resource from the drawables, that is predefined in the xml.
<ImageView
android:id="@+id/ivLearnMore"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/learn_more" />
例如,这个 Imageview 在扩展布局时会抛出异常,因为它已经分配了一个图像.(256x256)
For example this Imageview will throw an exception when inflating the layout because it already has an image assigned. (256x256)
发生了什么事?
05-08 10:33:54.972: E/dalvikvm-heap(24423): Out of memory on a 16777232-byte allocation.
05-08 10:33:54.972: I/dalvikvm(24423): "main" prio=5 tid=1 RUNNABLE
05-08 10:33:54.972: I/dalvikvm(24423): | group="main" sCount=0 dsCount=0 obj=0x41187b38 self=0x40dd1b68
05-08 10:33:54.972: I/dalvikvm(24423): | sysTid=24423 nice=0 sched=0/0 cgrp=apps handle=1074533852
05-08 10:33:54.972: I/dalvikvm(24423): | state=R schedstat=( 0 0 0 ) utm=147 stm=1265 core=0
05-08 10:33:54.972: I/dalvikvm(24423): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:33:54.972: I/dalvikvm(24423): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:33:54.972: I/dalvikvm(24423): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:33:54.972: I/dalvikvm(24423): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:817)
05-08 10:33:54.972: I/dalvikvm(24423): at android.content.res.Resources.loadDrawable(Resources.java:2854)
05-08 10:33:54.972: I/dalvikvm(24423): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.View.<init>(View.java:3460)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.ViewGroup.<init>(ViewGroup.java:446)
05-08 10:33:54.972: I/dalvikvm(24423): at android.widget.LinearLayout.<init>(LinearLayout.java:176)
05-08 10:33:54.972: I/dalvikvm(24423): at android.widget.LinearLayout.<init>(LinearLayout.java:172)
05-08 10:33:54.972: I/dalvikvm(24423): at java.lang.reflect.Constructor.constructNative(Native Method)
05-08 10:33:54.972: I/dalvikvm(24423): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-08 10:33:54.972: I/dalvikvm(24423): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
05-08 10:33:54.972: I/dalvikvm(24423): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-08 10:33:54.972: I/dalvikvm(24423): at com.travelstorysgps.travelstorys.FragmentInfo.onCreateView(FragmentInfo.java:54)
05-08 10:33:54.972: I/dalvikvm(24423): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-08 10:33:54.972: I/dalvikvm(24423): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-08 10:33:54.972: I/dalvikvm(24423): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-08 10:33:54.972: I/dalvikvm(24423): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 10:33:54.972: I/dalvikvm(24423): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-08 10:33:54.972: I/dalvikvm(24423): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-08 10:33:54.972: I/dalvikvm(24423): at android.os.Handler.handleCallback(Handler.java:725)
05-08 10:33:54.972: I/dalvikvm(24423): at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 10:33:54.972: I/dalvikvm(24423): at android.os.Looper.loop(Looper.java:137)
05-08 10:33:54.972: I/dalvikvm(24423): at android.app.ActivityThread.main(ActivityThread.java:5293)
05-08 10:33:54.972: I/dalvikvm(24423): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:33:54.972: I/dalvikvm(24423): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:33:54.972: I/dalvikvm(24423): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-08 10:33:54.972: I/dalvikvm(24423): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-08 10:33:54.972: I/dalvikvm(24423): at dalvik.system.NativeStart.main(Native Method)
05-08 10:33:54.972: D/skia(24423): --- decoder->decode returned false
05-08 10:33:54.972: D/AndroidRuntime(24423): Shutting down VM
05-08 10:33:54.972: W/dalvikvm(24423): threadid=1: thread exiting with uncaught exception (group=0x41186ac8)
05-08 10:33:54.992: E/AndroidRuntime(24423): FATAL EXCEPTION: main
05-08 10:33:54.992: E/AndroidRuntime(24423): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.LayoutInflater.createView(LayoutInflater.java:619)
05-08 10:33:54.992: E/AndroidRuntime(24423): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-08 10:33:54.992: E/AndroidRuntime(24423): at com.travelstorysgps.travelstorys.FragmentInfo.onCreateView(FragmentInfo.java:54)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.os.Handler.handleCallback(Handler.java:725)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.os.Looper.loop(Looper.java:137)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.app.ActivityThread.main(ActivityThread.java:5293)
05-08 10:33:54.992: E/AndroidRuntime(24423): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:33:54.992: E/AndroidRuntime(24423): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:33:54.992: E/AndroidRuntime(24423): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-08 10:33:54.992: E/AndroidRuntime(24423): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-08 10:33:54.992: E/AndroidRuntime(24423): at dalvik.system.NativeStart.main(Native Method)
05-08 10:33:54.992: E/AndroidRuntime(24423): Caused by: java.lang.reflect.InvocationTargetException
05-08 10:33:54.992: E/AndroidRuntime(24423): at java.lang.reflect.Constructor.constructNative(Native Method)
05-08 10:33:54.992: E/AndroidRuntime(24423): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-08 10:33:54.992: E/AndroidRuntime(24423): ... 21 more
05-08 10:33:54.992: E/AndroidRuntime(24423): Caused by: java.lang.OutOfMemoryError
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:817)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.content.res.Resources.loadDrawable(Resources.java:2854)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.View.<init>(View.java:3460)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.view.ViewGroup.<init>(ViewGroup.java:446)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.widget.LinearLayout.<init>(LinearLayout.java:176)
05-08 10:33:54.992: E/AndroidRuntime(24423): at android.widget.LinearLayout.<init>(LinearLayout.java:172)
05-08 10:33:54.992: E/AndroidRuntime(24423): ... 24 more
这是来自不同屏幕的异常
Here is a exception from a different screen
05-08 10:35:29.565: E/dalvikvm-heap(24774): Out of memory on a 16777232-byte allocation.
05-08 10:35:29.565: I/dalvikvm(24774): "main" prio=5 tid=1 RUNNABLE
05-08 10:35:29.565: I/dalvikvm(24774): | group="main" sCount=0 dsCount=0 obj=0x41187b38 self=0x40dd1b68
05-08 10:35:29.565: I/dalvikvm(24774): | sysTid=24774 nice=0 sched=0/0 cgrp=apps handle=1074533852
05-08 10:35:29.565: I/dalvikvm(24774): | state=R schedstat=( 0 0 0 ) utm=175 stm=2086 core=1
05-08 10:35:29.565: I/dalvikvm(24774): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:35:29.565: I/dalvikvm(24774): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:35:29.565: I/dalvikvm(24774): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:35:29.565: I/dalvikvm(24774): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:817)
05-08 10:35:29.565: I/dalvikvm(24774): at android.content.res.Resources.loadDrawable(Resources.java:2854)
05-08 10:35:29.565: I/dalvikvm(24774): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.View.<init>(View.java:3460)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.ViewGroup.<init>(ViewGroup.java:446)
05-08 10:35:29.565: I/dalvikvm(24774): at android.widget.LinearLayout.<init>(LinearLayout.java:176)
05-08 10:35:29.565: I/dalvikvm(24774): at android.widget.LinearLayout.<init>(LinearLayout.java:172)
05-08 10:35:29.565: I/dalvikvm(24774): at java.lang.reflect.Constructor.constructNative(Native Method)
05-08 10:35:29.565: I/dalvikvm(24774): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-08 10:35:29.565: I/dalvikvm(24774): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
05-08 10:35:29.565: I/dalvikvm(24774): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-08 10:35:29.565: I/dalvikvm(24774): at com.travelstorysgps.travelstorys.FragmentDonate.onCreateView(FragmentDonate.java:53)
05-08 10:35:29.565: I/dalvikvm(24774): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-08 10:35:29.565: I/dalvikvm(24774): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-08 10:35:29.565: I/dalvikvm(24774): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-08 10:35:29.565: I/dalvikvm(24774): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 10:35:29.565: I/dalvikvm(24774): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-08 10:35:29.565: I/dalvikvm(24774): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-08 10:35:29.565: I/dalvikvm(24774): at android.os.Handler.handleCallback(Handler.java:725)
05-08 10:35:29.565: I/dalvikvm(24774): at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 10:35:29.565: I/dalvikvm(24774): at android.os.Looper.loop(Looper.java:137)
05-08 10:35:29.565: I/dalvikvm(24774): at android.app.ActivityThread.main(ActivityThread.java:5293)
05-08 10:35:29.565: I/dalvikvm(24774): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:35:29.565: I/dalvikvm(24774): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:35:29.565: I/dalvikvm(24774): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-08 10:35:29.565: I/dalvikvm(24774): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-08 10:35:29.565: I/dalvikvm(24774): at dalvik.system.NativeStart.main(Native Method)
05-08 10:35:29.565: D/AbsListView(24774): [unregisterDoubleTapMotionListener]
05-08 10:35:29.565: I/MotionRecognitionManager(24774): .unregisterListener : / listener count = 0->0,
05-08 10:35:29.565: D/skia(24774): --- decoder->decode returned false
05-08 10:35:29.565: D/AbsListView(24774): unregisterIRListener() is called
05-08 10:35:29.565: D/AndroidRuntime(24774): Shutting down VM
05-08 10:35:29.565: W/dalvikvm(24774): threadid=1: thread exiting with uncaught exception (group=0x41186ac8)
05-08 10:35:29.595: E/AndroidRuntime(24774): FATAL EXCEPTION: main
05-08 10:35:29.595: E/AndroidRuntime(24774): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.LayoutInflater.createView(LayoutInflater.java:619)
05-08 10:35:29.595: E/AndroidRuntime(24774): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-08 10:35:29.595: E/AndroidRuntime(24774): at com.travelstorysgps.travelstorys.FragmentDonate.onCreateView(FragmentDonate.java:53)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.os.Handler.handleCallback(Handler.java:725)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.os.Looper.loop(Looper.java:137)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.app.ActivityThread.main(ActivityThread.java:5293)
05-08 10:35:29.595: E/AndroidRuntime(24774): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:35:29.595: E/AndroidRuntime(24774): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:35:29.595: E/AndroidRuntime(24774): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-08 10:35:29.595: E/AndroidRuntime(24774): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-08 10:35:29.595: E/AndroidRuntime(24774): at dalvik.system.NativeStart.main(Native Method)
05-08 10:35:29.595: E/AndroidRuntime(24774): Caused by: java.lang.reflect.InvocationTargetException
05-08 10:35:29.595: E/AndroidRuntime(24774): at java.lang.reflect.Constructor.constructNative(Native Method)
05-08 10:35:29.595: E/AndroidRuntime(24774): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-08 10:35:29.595: E/AndroidRuntime(24774): ... 21 more
05-08 10:35:29.595: E/AndroidRuntime(24774): Caused by: java.lang.OutOfMemoryError
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:817)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.content.res.Resources.loadDrawable(Resources.java:2854)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.View.<init>(View.java:3460)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.view.ViewGroup.<init>(ViewGroup.java:446)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.widget.LinearLayout.<init>(LinearLayout.java:176)
05-08 10:35:29.595: E/AndroidRuntime(24774): at android.widget.LinearLayout.<init>(LinearLayout.java:172)
05-08 10:35:29.595: E/AndroidRuntime(24774): ... 24 more
这是第三个不同的屏幕
05-08 10:37:20.113: E/dalvikvm-heap(25740): Out of memory on a 16777232-byte allocation.
05-08 10:37:20.123: I/dalvikvm(25740): "main" prio=5 tid=1 RUNNABLE
05-08 10:37:20.123: I/dalvikvm(25740): | group="main" sCount=0 dsCount=0 obj=0x41187b38 self=0x40dd1b68
05-08 10:37:20.123: I/dalvikvm(25740): | sysTid=25740 nice=0 sched=0/0 cgrp=apps handle=1074533852
05-08 10:37:20.123: I/dalvikvm(25740): | state=R schedstat=( 0 0 0 ) utm=156 stm=1070 core=1
05-08 10:37:20.123: I/dalvikvm(25740): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:37:20.123: I/dalvikvm(25740): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:37:20.123: I/dalvikvm(25740): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:37:20.123: I/dalvikvm(25740): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:817)
05-08 10:37:20.123: I/dalvikvm(25740): at android.content.res.Resources.loadDrawable(Resources.java:2854)
05-08 10:37:20.123: I/dalvikvm(25740): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.View.<init>(View.java:3460)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.ViewGroup.<init>(ViewGroup.java:446)
05-08 10:37:20.123: I/dalvikvm(25740): at android.widget.LinearLayout.<init>(LinearLayout.java:176)
05-08 10:37:20.123: I/dalvikvm(25740): at android.widget.LinearLayout.<init>(LinearLayout.java:172)
05-08 10:37:20.123: I/dalvikvm(25740): at java.lang.reflect.Constructor.constructNative(Native Method)
05-08 10:37:20.123: I/dalvikvm(25740): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-08 10:37:20.123: I/dalvikvm(25740): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
05-08 10:37:20.123: I/dalvikvm(25740): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-08 10:37:20.123: I/dalvikvm(25740): at com.travelstorysgps.travelstorys.FragmentConnect.onCreateView(FragmentConnect.java:73)
05-08 10:37:20.123: I/dalvikvm(25740): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-08 10:37:20.123: I/dalvikvm(25740): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-08 10:37:20.123: I/dalvikvm(25740): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-08 10:37:20.123: I/dalvikvm(25740): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 10:37:20.123: I/dalvikvm(25740): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-08 10:37:20.123: I/dalvikvm(25740): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-08 10:37:20.123: I/dalvikvm(25740): at android.os.Handler.handleCallback(Handler.java:725)
05-08 10:37:20.123: I/dalvikvm(25740): at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 10:37:20.123: I/dalvikvm(25740): at android.os.Looper.loop(Looper.java:137)
05-08 10:37:20.123: I/dalvikvm(25740): at android.app.ActivityThread.main(ActivityThread.java:5293)
05-08 10:37:20.123: I/dalvikvm(25740): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:37:20.123: I/dalvikvm(25740): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:37:20.123: I/dalvikvm(25740): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-08 10:37:20.123: I/dalvikvm(25740): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-08 10:37:20.123: I/dalvikvm(25740): at dalvik.system.NativeStart.main(Native Method)
05-08 10:37:20.123: D/skia(25740): --- decoder->decode returned false
05-08 10:37:20.123: D/AndroidRuntime(25740): Shutting down VM
05-08 10:37:20.123: W/dalvikvm(25740): threadid=1: thread exiting with uncaught exception (group=0x41186ac8)
05-08 10:37:20.133: E/AndroidRuntime(25740): FATAL EXCEPTION: main
05-08 10:37:20.133: E/AndroidRuntime(25740): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.LayoutInflater.createView(LayoutInflater.java:619)
05-08 10:37:20.133: E/AndroidRuntime(25740): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:666)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-08 10:37:20.133: E/AndroidRuntime(25740): at com.travelstorysgps.travelstorys.FragmentConnect.onCreateView(FragmentConnect.java:73)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.os.Handler.handleCallback(Handler.java:725)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.os.Handler.dispatchMessage(Handler.java:92)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.os.Looper.loop(Looper.java:137)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.app.ActivityThread.main(ActivityThread.java:5293)
05-08 10:37:20.133: E/AndroidRuntime(25740): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:37:20.133: E/AndroidRuntime(25740): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:37:20.133: E/AndroidRuntime(25740): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
05-08 10:37:20.133: E/AndroidRuntime(25740): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
05-08 10:37:20.133: E/AndroidRuntime(25740): at dalvik.system.NativeStart.main(Native Method)
05-08 10:37:20.133: E/AndroidRuntime(25740): Caused by: java.lang.reflect.InvocationTargetException
05-08 10:37:20.133: E/AndroidRuntime(25740): at java.lang.reflect.Constructor.constructNative(Native Method)
05-08 10:37:20.133: E/AndroidRuntime(25740): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.LayoutInflater.createView(LayoutInflater.java:593)
05-08 10:37:20.133: E/AndroidRuntime(25740): ... 21 more
05-08 10:37:20.133: E/AndroidRuntime(25740): Caused by: java.lang.OutOfMemoryError
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:817)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.content.res.Resources.loadDrawable(Resources.java:2854)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.View.<init>(View.java:3460)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.view.ViewGroup.<init>(ViewGroup.java:446)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.widget.LinearLayout.<init>(LinearLayout.java:176)
05-08 10:37:20.133: E/AndroidRuntime(25740): at android.widget.LinearLayout.<init>(LinearLayout.java:172)
05-08 10:37:20.133: E/AndroidRuntime(25740): ... 24 more
推荐答案
我发现了问题.背景图像显然没有得到非常有效的处理,尤其是对于 1920x1080 的屏幕.因此,您应该使用自定义 xml 可绘制对象、纯色或 24 位 jpg.有趣的是,我刚刚进行了一些测试,1920x1080 jpeg 占用了 95.60 KB,而渲染为 png 的相同图像占用了 929.09 KB.
I have discovered the problem. Background images are apparently not handled very efficiently, especially not for a 1920x1080 screen. Therefor you should use a custom xml drawable, a flat color, or a 24-bit jpg. Funny enough I just ran some tests and a 1920x1080 jpeg takes up 95.60 KB while the same image rendered as a png takes up 929.09 KB.
所以我做了一些测试,发现 xml 定义的带有渐变等的可绘制对象非常快,然后我尝试了我的 1920x1080 jpg,它非常快,所以我输入了一个 1920x1080 png 并得到了错误.这对我来说很有趣,因为我在开始时为高清屏幕设置的 png 仅为 910x540,我会收到错误消息.
So I did some testing and found that xml defined drawables with gradients etc. are super fast, I then tried my 1920x1080 jpg and it was super fast, so then I put in a 1920x1080 png and got the error. This is funny to me because the png I has set at the start for HD screens was only 910x540 and I would get the error.
所以这里的教训是,如果您想要图像背景,请使用 jpg.
So lesson here is if you want a image background use a jpg.
这篇关于银河s4,也许所有的高清手机?内存不足错误膨胀布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:银河s4,也许所有的高清手机?内存不足错误膨胀布局
基础教程推荐
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01