不同的设备中使用Android内存不足? [英] Android OutOfMemory within different devices ?

查看:160
本文介绍了不同的设备中使用Android内存不足?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有使用图片涉及一个应用程序,它工作正常使用某些设备前。 HTC一个X,以及其他不前。 GALAXY NOTE,列表是大exatcly IDK问题cuz它工作在一些,这在其他不。同时它不在模拟器上工作的默认之一,但一个小的它的工作

这是我logcat中获得

  08-15 18:30:39.070:I / dalvikvm堆(334):卡箍目标GC堆从25.723MB到24.000MB
08-15 18:30:39.090:D / dalvikvm(334):GC_FOR_MALLOC释放< 1K,51%免费2672K / 5379K,19015K外部/ 19657K,暂停38ms
08-15 18:30:39.370:D / dalvikvm(334):GC_EXTERNAL_ALLOC释放< 1K,51%免费2672K / 5379K,19015K外部/ 19657K,暂停45ms
08-15 18:30:39.400:E / dalvikvm堆(334):810000字节外部分配太大,这一进程。
08-15 18:30:39.510:I / dalvikvm堆(334):卡箍目标GC堆从25.724MB到24.000MB
08-15 18:30:39.510:E / GraphicsJNI(334):虚拟机不会让我们分配810000字节
08-15 18:30:39.510:D / dalvikvm(334):GC_FOR_MALLOC释放0K,51%免费2672K / 5379K,19015K外部/ 19657K,暂停36ms
08-15 18:30:39.532:D / AndroidRuntime(334):关闭VM
08-15 18:30:39.532:W / dalvikvm(334):主题ID = 1:螺纹未捕获的异常(组= 0x40015560)退出
08-15 18:30:39.600:E / AndroidRuntime(334):致命异常:主要
08-15 18:30:39.600:E / AndroidRuntime(334):了java.lang.RuntimeException:无法启动活动ComponentInfo {app.com.android.editor / app.com.android.editor.Option}:android.view .InflateException:二进制XML文件行#317:错误充气类<&不明GT;
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.os.Handler.dispatchMessage(Handler.java:99)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.os.Looper.loop(Looper.java:123)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.ActivityThread.main(ActivityThread.java:3683)
08-15 18:30:39.600:E / AndroidRuntime(334):在java.lang.reflect.Method.invokeNative(本机方法)
08-15 18:30:39.600:E / AndroidRuntime(334):在java.lang.reflect.Method.invoke(Method.java:507)
08-15 18:30:39.600:E / AndroidRuntime(334):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
08-15 18:30:39.600:E / AndroidRuntime(334):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-15 18:30:39.600:E / AndroidRuntime(334):在dalvik.system.NativeStart.main(本机方法)
08-15 18:30:39.600:E / AndroidRuntime(334):android.view.InflateException:二进制XML文件行#317:由错误造成充气类<&不明GT;
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.createView(LayoutInflater.java:518)
08-15 18:30:39.600:E / AndroidRuntime(334):在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.inflate(LayoutInflater.java:408)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.inflate(LayoutInflater.java:320)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.inflate(LayoutInflater.java:276)
08-15 18:30:39.600:E / AndroidRuntime(334):在com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.Activity.setContentView(Activity.java:1657)
08-15 18:30:39.600:E / AndroidRuntime(334):在app.com.android.editor.Option.onCreate(Option.java:40)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-15 18:30:39.600:E / AndroidRuntime(334):11 ...更多
08-15 18:30:39.600:E / AndroidRuntime(334):由:java.lang.reflect.InvocationTargetException
08-15 18:30:39.600:E / AndroidRuntime(334):在java.lang.reflect.Constructor.constructNative(本机方法)
08-15 18:30:39.600:E / AndroidRuntime(334):在java.lang.reflect.Constructor.newInstance(Constructor.java:415)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.LayoutInflater.createView(LayoutInflater.java:505)
08-15 18:30:39.600:E / AndroidRuntime(334):25 ...更多
08-15 18:30:39.600:E / AndroidRuntime(334):java.lang.OutOfMemoryError:产生的原因位图大小超过VM预算
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.Bitmap.nativeCreate(本机方法)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.Bitmap.createBitmap(Bitmap.java:477)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.Bitmap.createBitmap(Bitmap.java:444)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.Bitmap.createScaledBitmap(Bitmap.java:349)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.BitmapFactory.finishDe code(BitmapFactory.java:498)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.BitmapFactory.de codeStream(BitmapFactory.java:473)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.BitmapFactory.de codeResourceStream(BitmapFactory.java:336)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.content.res.Resources.loadDrawable(Resources.java:1709)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.content.res.TypedArray.getDrawable(TypedArray.java:601)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.view.View<&初始化GT;(View.java:1951)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.widget.TextView<&初始化GT;(TextView.java:344)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.widget.Button<&初始化GT;(Button.java:108)
08-15 18:30:39.600:E / AndroidRuntime(334):在android.widget.Button<&初始化GT;(Button.java:104)
08-15 18:30:39.600:E / AndroidRuntime(334):28 ...更多
08-15 18:30:45.459:I /流程(334):发送信号。 PID:334 SIG:9


解决方案

堆大小因设备而异。这是完全合理的在哪里应用有很大的堆大小的设备,你会遇到比在哪里应用具有较小的堆大小的设备少的问题。你可以堆在低至16MB,如果要支持旧/更低分辨率的设备。

I have an app that deals with images, it works fine with some devices ex. HTC ONE X, and others dont ex. GALAXY NOTE, the list is big IDK the problem exatcly cuz it works in some, and it dont in others. also it doesnt work on the emulator the default one but a small one it does work

this is the logcat I get

08-15 18:30:39.070: I/dalvikvm-heap(334): Clamp target GC heap from 25.723MB to 24.000MB
08-15 18:30:39.090: D/dalvikvm(334): GC_FOR_MALLOC freed <1K, 51% free 2672K/5379K, external 19015K/19657K, paused 38ms
08-15 18:30:39.370: D/dalvikvm(334): GC_EXTERNAL_ALLOC freed <1K, 51% free 2672K/5379K, external 19015K/19657K, paused 45ms
08-15 18:30:39.400: E/dalvikvm-heap(334): 810000-byte external allocation too large for this process.
08-15 18:30:39.510: I/dalvikvm-heap(334): Clamp target GC heap from 25.724MB to 24.000MB
08-15 18:30:39.510: E/GraphicsJNI(334): VM won't let us allocate 810000 bytes
08-15 18:30:39.510: D/dalvikvm(334): GC_FOR_MALLOC freed 0K, 51% free 2672K/5379K, external 19015K/19657K, paused 36ms
08-15 18:30:39.532: D/AndroidRuntime(334): Shutting down VM
08-15 18:30:39.532: W/dalvikvm(334): threadid=1: thread exiting with uncaught exception (group=0x40015560)
08-15 18:30:39.600: E/AndroidRuntime(334): FATAL EXCEPTION: main
08-15 18:30:39.600: E/AndroidRuntime(334): java.lang.RuntimeException: Unable to start activity ComponentInfo{app.com.android.editor/app.com.android.editor.Option}: android.view.InflateException: Binary XML file line #317: Error inflating class <unknown>
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.os.Looper.loop(Looper.java:123)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.ActivityThread.main(ActivityThread.java:3683)
08-15 18:30:39.600: E/AndroidRuntime(334):  at java.lang.reflect.Method.invokeNative(Native Method)
08-15 18:30:39.600: E/AndroidRuntime(334):  at java.lang.reflect.Method.invoke(Method.java:507)
08-15 18:30:39.600: E/AndroidRuntime(334):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-15 18:30:39.600: E/AndroidRuntime(334):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-15 18:30:39.600: E/AndroidRuntime(334):  at dalvik.system.NativeStart.main(Native Method)
08-15 18:30:39.600: E/AndroidRuntime(334): Caused by: android.view.InflateException: Binary XML file line #317: Error inflating class <unknown>
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.createView(LayoutInflater.java:518)
08-15 18:30:39.600: E/AndroidRuntime(334):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
08-15 18:30:39.600: E/AndroidRuntime(334):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.Activity.setContentView(Activity.java:1657)
08-15 18:30:39.600: E/AndroidRuntime(334):  at app.com.android.editor.Option.onCreate(Option.java:40)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-15 18:30:39.600: E/AndroidRuntime(334):  ... 11 more
08-15 18:30:39.600: E/AndroidRuntime(334): Caused by: java.lang.reflect.InvocationTargetException
08-15 18:30:39.600: E/AndroidRuntime(334):  at java.lang.reflect.Constructor.constructNative(Native Method)
08-15 18:30:39.600: E/AndroidRuntime(334):  at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.LayoutInflater.createView(LayoutInflater.java:505)
08-15 18:30:39.600: E/AndroidRuntime(334):  ... 25 more
08-15 18:30:39.600: E/AndroidRuntime(334): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.Bitmap.nativeCreate(Native Method)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.Bitmap.createBitmap(Bitmap.java:477)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.Bitmap.createBitmap(Bitmap.java:444)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:349)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:498)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:473)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.content.res.Resources.loadDrawable(Resources.java:1709)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.view.View.<init>(View.java:1951)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.widget.TextView.<init>(TextView.java:344)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.widget.Button.<init>(Button.java:108)
08-15 18:30:39.600: E/AndroidRuntime(334):  at android.widget.Button.<init>(Button.java:104)
08-15 18:30:39.600: E/AndroidRuntime(334):  ... 28 more
08-15 18:30:45.459: I/Process(334): Sending signal. PID: 334 SIG: 9

解决方案

Heap sizes vary by device. It is perfectly reasonable that on devices where apps have large heap sizes you will encounter fewer problems than on devices where apps have smaller heap sizes. Your heap could be as low as 16MB, if you are supporting older/lower-resolution devices.

这篇关于不同的设备中使用Android内存不足?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆