08-11 08:24:11.176: E/AndroidRuntime(859): java.lang.OutOfMemoryError
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:503)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:356)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:800)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.content.res.Resources.loadDrawable(Resources.java:2105)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.content.res.Resources.getDrawable(Resources.java:695)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:282)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:901)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:837)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.content.res.Resources.loadDrawable(Resources.java:2087)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.content.res.Resources.getDrawable(Resources.java:695)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.view.View.setBackgroundResource(View.java:14758)
08-11 08:24:11.176: E/AndroidRuntime(859): at com.mypack.capitalAlphabets.ActivityD.onCreate(ActivityD.java:28)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.Activity.performCreate(Activity.java:5133)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.os.Handler.dispatchMessage(Handler.java:99)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.os.Looper.loop(Looper.java:137)
08-11 08:24:11.176: E/AndroidRuntime(859): at android.app.ActivityThread.main(ActivityThread.java:5103)
08-11 08:24:11.176: E/AndroidRuntime(859): at java.lang.reflect.Method.invokeNative(Native Method)
08-11 08:24:11.176: E/AndroidRuntime(859): at java.lang.reflect.Method.invoke(Method.java:525)
08-11 08:24:11.176: E/AndroidRuntime(859): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-11 08:24:11.176: E/AndroidRuntime(859): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-11 08:24:11.176: E/AndroidRuntime(859): at dalvik.system.NativeStart.main(Native Method)
08-11 08:29:11.335: I/Process(859): Sending signal. PID: 859 SIG: 9
08-11 08:29:13.265: D/gralloc_goldfish(904): Emulator without GPU emulation detected.
答案 0 :(得分:0)
您应该处理位图回收。基于异常,看起来你正在用重型位图一遍又一遍地填充内存。但是如果没有看到代码,我就说不出更多。
请看这里:http://developer.android.com/training/displaying-bitmaps/index.html
答案 1 :(得分:0)
如果我是对的,你正在查看活动中的图像(很可能是多个图像)。图像的大小非常大,这就是为什么它会抛出掉掉错误的错误。您应该根据大小和需要控制图像的大小和属性。您还可以搜索方法来回收内存..您还可以使用onLowMemory方法并停止崩溃应用程序并显示一些错误对话框..但是是的控制你的形象的大小和属性
答案 2 :(得分:0)
您正在使用的图像可能是非常大的尺寸。降低分辨率,看看您是否仍然观察到这个问题。 还要确保你没有泄漏任何位图.. 尽可能回收位图以释放与图像相关的本机内存
Natïve堆在运行的应用程序之间共享,因此可用空间量取决于正在运行的其他应用程序及其位图使用情况。 您可以找到已分配的本机堆,并根据可用的堆分配资源:
参见: long nativeHeapAllocated = Debug.getNativeHeapAllocatedSize();
请参阅此内容以了解有关本机堆分配的更多信息:http://sourcevirtues.wordpress.com/2013/01/14/java-heap-space-and-native-heap-problems/
答案 3 :(得分:0)