跪求大神帮助解决,傻傻搞不懂什么问题

qq_21000189 2014-09-29 05:46:03
简单的描述一下,这个问题很莫名其妙,不会在某一个特定的功能上出现,也不会确定会在什么时候发生,在多次操作程序的功能后就会出现,测试过很多次,记录了其中两次的错误信息,我感觉错误信息都是一样,内存溢出,单数具体的问题我仍然搞不懂!

1、错误信息如下:

09-29 17:27:14.522: E/dalvikvm-heap(2805): Out of memory on a 4723216-byte allocation.
09-29 17:27:14.542: E/AndroidRuntime(2805): FATAL EXCEPTION: main
09-29 17:27:14.542: E/AndroidRuntime(2805): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xinxinsoft.android.activity/com.xinxinsoft.android.activity.GovernmentAffairsActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xinxinsoft.android.activity/com.xinxinsoft.android.activity.AffairsQueryActivity}: android.view.InflateException: Binary XML file line #32: Error inflating class <unknown>
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.access$700(ActivityThread.java:165)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.os.Handler.dispatchMessage(Handler.java:99)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.os.Looper.loop(Looper.java:137)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.main(ActivityThread.java:5450)
09-29 17:27:14.542: E/AndroidRuntime(2805): at java.lang.reflect.Method.invokeNative(Native Method)
09-29 17:27:14.542: E/AndroidRuntime(2805): at java.lang.reflect.Method.invoke(Method.java:525)
09-29 17:27:14.542: E/AndroidRuntime(2805): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
09-29 17:27:14.542: E/AndroidRuntime(2805): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
09-29 17:27:14.542: E/AndroidRuntime(2805): at dalvik.system.NativeStart.main(Native Method)
09-29 17:27:14.542: E/AndroidRuntime(2805): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xinxinsoft.android.activity/com.xinxinsoft.android.activity.AffairsQueryActivity}: android.view.InflateException: Binary XML file line #32: Error inflating class <unknown>
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2145)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:766)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.widget.TabHost.setCurrentTab(TabHost.java:430)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.widget.TabHost.addTab(TabHost.java:257)
09-29 17:27:14.542: E/AndroidRuntime(2805): at com.xinxinsoft.android.activity.GovernmentAffairsActivity.onCreate(GovernmentAffairsActivity.java:35)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.Activity.performCreate(Activity.java:5369)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
09-29 17:27:14.542: E/AndroidRuntime(2805): ... 11 more
09-29 17:27:14.542: E/AndroidRuntime(2805): Caused by: android.view.InflateException: Binary XML file line #32: Error inflating class <unknown>
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.createView(LayoutInflater.java:626)
09-29 17:27:14.542: E/AndroidRuntime(2805): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
09-29 17:27:14.542: E/AndroidRuntime(2805): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:361)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.Activity.setContentView(Activity.java:1956)
09-29 17:27:14.542: E/AndroidRuntime(2805): at com.xinxinsoft.android.activity.AffairsQueryActivity.onCreate(AffairsQueryActivity.java:75)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.Activity.performCreate(Activity.java:5369)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
09-29 17:27:14.542: E/AndroidRuntime(2805): ... 21 more
09-29 17:27:14.542: E/AndroidRuntime(2805): Caused by: java.lang.reflect.InvocationTargetException
09-29 17:27:14.542: E/AndroidRuntime(2805): at java.lang.reflect.Constructor.constructNative(Native Method)
09-29 17:27:14.542: E/AndroidRuntime(2805): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.view.LayoutInflater.createView(LayoutInflater.java:600)
09-29 17:27:14.542: E/AndroidRuntime(2805): ... 34 more
09-29 17:27:14.542: E/AndroidRuntime(2805): Caused by: java.lang.OutOfMemoryError
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
09-29 17:27:14.542: E/AndroidRuntime(2805): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
09-29 17:27:14.542: E/AndroidRuntime(2805): at androi


...全文
351 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Me-hao 2014-10-09
  • 打赏
  • 举报
回复
内存溢出,有可能是图片的问题,也由可能是布局的问题,图片的处理可以查考下http://blog.csdn.net/qianqianyihao/article/details/39893465
Hcwfc 2014-09-29
  • 打赏
  • 举报
回复
引用 11 楼 HonestHuang430 的回复:
Asset里的文件,最好不要超过1M
这个理解有偏差,因为我们经常会在这里放一个apk和项目直接打包,apk直接超过1M
Hcwfc 2014-09-29
  • 打赏
  • 举报
回复
引用 9 楼 qq_21000189 的回复:
[quote=引用 8 楼 Hcwfc 的回复:] [quote=引用 6 楼 qq_21000189 的回复:] [quote=引用 3 楼 Hcwfc 的回复:] 你这个问题可能原因是: 1、由于你布局不规范或者布局层级太多,系统在加载布局的时候由于内存不足导致你不能加载布局,而出现的,可以检查一下布局文件,层级最好不好超过5层,一般3层。 2、检查一下代码避免重复绘制布局。
可是有一点很奇怪,就是在低分辨率的手机上就不曾出现这个问题,三星的1080P的手机基本上是肯定会出现。 [/quote]这个问题是因为,每一个手机或者系统分配给应用程序的内存不一样有的16M有的32M 或者更多[/quote] 可以通过代码来配置系统给应用程序分配使用内存的大小吗?如有可以或者有类似的解决方法,还请不吝赐教;[/quote]解决办法就是优化布局,或者是你的某些UI模块实现方式有问题,至于你说的其他游戏100M没问题,原因在于内存瞬时加载量,就像你加载BITMAP图片会OOM一个道理 一次性装不下那么多东西,来不及释放你又在往内存装东西
黄诚实_ 2014-09-29
  • 打赏
  • 举报
回复
Asset里的文件,最好不要超过1M
qq_21000189 2014-09-29
  • 打赏
  • 举报
回复
引用 8 楼 Hcwfc 的回复:
[quote=引用 6 楼 qq_21000189 的回复:] [quote=引用 3 楼 Hcwfc 的回复:] 你这个问题可能原因是: 1、由于你布局不规范或者布局层级太多,系统在加载布局的时候由于内存不足导致你不能加载布局,而出现的,可以检查一下布局文件,层级最好不好超过5层,一般3层。 2、检查一下代码避免重复绘制布局。
可是有一点很奇怪,就是在低分辨率的手机上就不曾出现这个问题,三星的1080P的手机基本上是肯定会出现。 [/quote]这个问题是因为,每一个手机或者系统分配给应用程序的内存不一样有的16M有的32M 或者更多[/quote] 应该可以吧,不然那些安装包上100M的游戏,运行起来不是会很吃内存吗!
qq_21000189 2014-09-29
  • 打赏
  • 举报
回复
引用 8 楼 Hcwfc 的回复:
[quote=引用 6 楼 qq_21000189 的回复:] [quote=引用 3 楼 Hcwfc 的回复:] 你这个问题可能原因是: 1、由于你布局不规范或者布局层级太多,系统在加载布局的时候由于内存不足导致你不能加载布局,而出现的,可以检查一下布局文件,层级最好不好超过5层,一般3层。 2、检查一下代码避免重复绘制布局。
可是有一点很奇怪,就是在低分辨率的手机上就不曾出现这个问题,三星的1080P的手机基本上是肯定会出现。 [/quote]这个问题是因为,每一个手机或者系统分配给应用程序的内存不一样有的16M有的32M 或者更多[/quote] 可以通过代码来配置系统给应用程序分配使用内存的大小吗?如有可以或者有类似的解决方法,还请不吝赐教;
Hcwfc 2014-09-29
  • 打赏
  • 举报
回复
引用 6 楼 qq_21000189 的回复:
[quote=引用 3 楼 Hcwfc 的回复:] 你这个问题可能原因是: 1、由于你布局不规范或者布局层级太多,系统在加载布局的时候由于内存不足导致你不能加载布局,而出现的,可以检查一下布局文件,层级最好不好超过5层,一般3层。 2、检查一下代码避免重复绘制布局。
可是有一点很奇怪,就是在低分辨率的手机上就不曾出现这个问题,三星的1080P的手机基本上是肯定会出现。 [/quote]这个问题是因为,每一个手机或者系统分配给应用程序的内存不一样有的16M有的32M 或者更多
qq_21000189 2014-09-29
  • 打赏
  • 举报
回复
引用 5 楼 svenwang 的回复:
Out of memory很多情况下是因为处理图片不当。 关于这点csdn也有博客文章
如果是图片的处理不当,有更好的解决方法吗?
qq_21000189 2014-09-29
  • 打赏
  • 举报
回复
引用 3 楼 Hcwfc 的回复:
你这个问题可能原因是: 1、由于你布局不规范或者布局层级太多,系统在加载布局的时候由于内存不足导致你不能加载布局,而出现的,可以检查一下布局文件,层级最好不好超过5层,一般3层。 2、检查一下代码避免重复绘制布局。
可是有一点很奇怪,就是在低分辨率的手机上就不曾出现这个问题,三星的1080P的手机基本上是肯定会出现。
svenwang 2014-09-29
  • 打赏
  • 举报
回复
Out of memory很多情况下是因为处理图片不当。 关于这点csdn也有博客文章
svenwang 2014-09-29
  • 打赏
  • 举报
回复
关于android内存优化,可以看看知乎上的回答 http://www.zhihu.com/question/19772290
Hcwfc 2014-09-29
  • 打赏
  • 举报
回复
你这个问题可能原因是: 1、由于你布局不规范或者布局层级太多,系统在加载布局的时候由于内存不足导致你不能加载布局,而出现的,可以检查一下布局文件,层级最好不好超过5层,一般3层。 2、检查一下代码避免重复绘制布局。
svenwang 2014-09-29
  • 打赏
  • 举报
回复
已经告诉你“Out of memory” 把内存使用优化一下吧。
qq_21000189 2014-09-29
  • 打赏
  • 举报
回复
2、错误信息如下:
09-29 17:32:03.172: E/ViewRootImpl(8227): sendUserActionEvent() mView == null
09-29 17:32:10.302: E/ViewRootImpl(8227): sendUserActionEvent() mView == null
09-29 17:32:16.922: E/ViewRootImpl(8227): sendUserActionEvent() mView == null
09-29 17:32:17.012: E/dalvikvm-heap(8227): Out of memory on a 12948496-byte allocation.
09-29 17:32:17.022: E/AndroidRuntime(8227): FATAL EXCEPTION: main
09-29 17:32:17.022: E/AndroidRuntime(8227): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xinxinsoft.android.activity/com.xinxinsoft.android.activity.ConSerSDQShuiPaymentActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2304)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.ActivityThread.access$700(ActivityThread.java:165)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1326)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.os.Handler.dispatchMessage(Handler.java:99)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.os.Looper.loop(Looper.java:137)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.ActivityThread.main(ActivityThread.java:5450)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at java.lang.reflect.Method.invoke(Method.java:525)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at dalvik.system.NativeStart.main(Native Method)
09-29 17:32:17.022: E/AndroidRuntime(8227): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.createView(LayoutInflater.java:626)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.onCreateView(LayoutInflater.java:675)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:700)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:470)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:361)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.Activity.setContentView(Activity.java:1956)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at com.xinxinsoft.android.activity.ConSerSDQShuiPaymentActivity.onCreate(ConSerSDQShuiPaymentActivity.java:47)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.Activity.performCreate(Activity.java:5369)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	... 11 more
09-29 17:32:17.022: E/AndroidRuntime(8227): Caused by: java.lang.reflect.InvocationTargetException
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at java.lang.reflect.Constructor.constructNative(Native Method)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.LayoutInflater.createView(LayoutInflater.java:600)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	... 23 more
09-29 17:32:17.022: E/AndroidRuntime(8227): Caused by: java.lang.OutOfMemoryError
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.content.res.Resources.loadDrawable(Resources.java:2988)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.View.<init>(View.java:3563)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.view.ViewGroup.<init>(ViewGroup.java:475)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.widget.LinearLayout.<init>(LinearLayout.java:176)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	at android.widget.LinearLayout.<init>(LinearLayout.java:172)
09-29 17:32:17.022: E/AndroidRuntime(8227): 	... 26 more

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧