求助!java.lang.OutOfMemoryError

坏脾气的猪 2014-03-13 08:38:04

03-12 16:11:05.394 2518 2518 D skia : --- allocation failed for scaled bitmap
03-12 16:11:05.394 2518 2518 D AndroidRuntime: Shutting down VM
03-12 16:11:05.394 2518 2518 W dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41d419a8)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: FATAL EXCEPTION: main
03-12 16:11:05.397 2518 2518 E AndroidRuntime: java.lang.OutOfMemoryError
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:521)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:374)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.content.res.Resources.loadDrawable(Resources.java:2005)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.content.res.Resources.getDrawable(Resources.java:673)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.widget.EdgeEffect.<init>(EdgeEffect.java:138)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.OverScrollGlow.<init>(OverScrollGlow.java:47)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebViewClassic.setOverScrollMode(WebViewClassic.java:1942)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebView.setOverScrollMode(WebView.java:2045)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.view.View.<init>(View.java:3244)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.view.View.<init>(View.java:3288)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.view.ViewGroup.<init>(ViewGroup.java:436)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.widget.AbsoluteLayout.<init>(AbsoluteLayout.java:52)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebView.<init>(WebView.java:552)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebView.<init>(WebView.java:529)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebView.<init>(WebView.java:509)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebView.<init>(WebView.java:498)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.webkit.WebView.<init>(WebView.java:488)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at com.android.settings.SettingsLicenseActivity.onCreate(SettingsLicenseActivity.java:146)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5122)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:156)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.os.Looper.loop(Looper.java:153)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5299)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-12 16:11:05.397 2518 2518 E AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
03-12 16:11:05.401 135 473 D AudioFlinger: threadLoop_sleepTime write muted data to hw
03-12 16:11:05.401 135 473 D AudioMTKStreamOut: write(), buffer = 0x424cf360 bytes = 8192 mLatency = 92
03-12 16:11:05.404 572 926 D SettingsProvider: call request for 0
03-12 16:11:05.404 572 926 V SettingsProvider: call(global:dropbox:system_app_crash) for 0
03-12 16:11:05.404 572 926 D SettingsProvider: lookupValue table global cache contains Key dropbox:system_app_crash , value = null
03-12 16:11:05.405 572 926 D SettingsProvider: lookupValue table global cache.fullyMatchesDisk() dropbox:system_app_crash
03-12 16:11:05.405 572 926 V Provider/Settings: from db cache, name = dropbox:system_app_crash , value = null
03-12 16:11:05.407 572 926 D dalvikvm: create interp thread : stack size=32KB
...全文
329 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘来一场梦 2014-05-26
  • 打赏
  • 举报
回复
引用的bitmap在ondestroy()的时候调一下recycle()回收
箍心而行 2014-05-26
  • 打赏
  • 举报
回复
是bitmap内存溢出了 试试软引用这些之类的 最烂的解决方式就是压缩bitmap尺寸
LFHhua104 2014-05-26
  • 打赏
  • 举报
回复
引用 4 楼 ritazuozuo 的回复:
[quote=引用 2 楼 Java_Devil 的回复:] com.android.settings.SettingsLicenseActivity.onCreate(SettingsLicenseActivity.java:146) 内存溢出了。这里做什么操作了。?
进入设置菜单->关于手机->法律信息->点击开发源代码许可菜单出现的。 EdgeEffect.java:138 的代码是: mGlow = res.getDrawable(R.drawable.overscroll_glow); 这里进去挂了[/quote] 我最近做项目也出现了,你的这张图片资源是不是自定义的xml图片资源,然后你在这xml图片资源文件中引用了与该xml图片资源文件名字相同的图片资源呢?如果不行,你换张图片测试下,看看会不会出现溢出情况。。。。。
西瓜米 2014-03-14
  • 打赏
  • 举报
回复
楼主是因为图片没有回收和处理吧
坏脾气的猪 2014-03-14
  • 打赏
  • 举报
回复
应该不是图片太大,因为图片就是几K。而且是不是每次都出现,概率很小很小
niekangshibendan 2014-03-14
  • 打赏
  • 举报
回复
处理一下图片的大小,或者设置largeHeap~~!
  • 打赏
  • 举报
回复
想好好分析内存的话,推荐看这个 http://blog.csdn.net/harry_helei/article/details/6692796
打打卡夫卡 2014-03-14
  • 打赏
  • 举报
回复
android 手机开发中内存是很需要注意的问题,一般android 只会给每个应用16(32/64)M 的内存, 这些内存在一般情况下是足够程序运行的,但是当加载图片等大资源的时候就会出现你这种OOM的问题, 具体的错误信息应该是楼上分析的那样,是因为那个图片过大。在加载时超出了内存限制。 如果你想要分析具体的内存占用情况的话,可以使用ddms模式查看。
哎,真难 2014-03-14
  • 打赏
  • 举报
回复
图片过大,换张小的
坏脾气的猪 2014-03-14
  • 打赏
  • 举报
回复
引用 2 楼 Java_Devil 的回复:
com.android.settings.SettingsLicenseActivity.onCreate(SettingsLicenseActivity.java:146) 内存溢出了。这里做什么操作了。?
进入设置菜单->关于手机->法律信息->点击开发源代码许可菜单出现的。 EdgeEffect.java:138 的代码是: mGlow = res.getDrawable(R.drawable.overscroll_glow); 这里进去挂了
坏脾气的猪 2014-03-14
  • 打赏
  • 举报
回复
引用 1 楼 heaimnmn 的回复:
做什么的时候出现的OOM
进入设置菜单->关于手机->法律信息->点击开发源代码许可菜单出现的。 关键是EdgeEffect.java:138 的代码是: mGlow = res.getDrawable(R.drawable.overscroll_glow); 这里进去挂了
绝世酱油瓶 2014-03-14
  • 打赏
  • 举报
回复
com.android.settings.SettingsLicenseActivity.onCreate(SettingsLicenseActivity.java:146) 内存溢出了。这里做什么操作了。?
哎,真难 2014-03-14
  • 打赏
  • 举报
回复
做什么的时候出现的OOM
西瓜米 2014-03-14
  • 打赏
  • 举报
回复
引用 13 楼 heaimnmn 的回复:
[quote=引用 12 楼 mujunfengplay 的回复:] [quote=引用 11 楼 ritazuozuo 的回复:] [quote=引用 10 楼 mujunfengplay 的回复:] 楼主是因为图片没有回收和处理吧
还要回收处理?[/quote] 最好的是进行回收处理,因为你也不知道这个对象是不是有其它地方跟它相连,java垃圾回收也是成树状搜索的,确定一个对象没有被其它引用才会回收,而且最好的是把图片处理下,让图片尽量的暂居很小的内存[/quote]我想问下怎么回收处理????[/quote] 其实图片是会创建2分的,你可以看下源码,一般的我们会用软引用处理,也可以让图片在控件显示后然后告诉虚拟机这个图片可以回收了。也可以用bitmapfactory类用计算方式把图片缩小,这样节约内存也有很多的时间交给垃圾回收来回收对象
哎,真难 2014-03-14
  • 打赏
  • 举报
回复
引用 12 楼 mujunfengplay 的回复:
[quote=引用 11 楼 ritazuozuo 的回复:] [quote=引用 10 楼 mujunfengplay 的回复:] 楼主是因为图片没有回收和处理吧
还要回收处理?[/quote] 最好的是进行回收处理,因为你也不知道这个对象是不是有其它地方跟它相连,java垃圾回收也是成树状搜索的,确定一个对象没有被其它引用才会回收,而且最好的是把图片处理下,让图片尽量的暂居很小的内存[/quote]我想问下怎么回收处理????
西瓜米 2014-03-14
  • 打赏
  • 举报
回复
引用 11 楼 ritazuozuo 的回复:
[quote=引用 10 楼 mujunfengplay 的回复:] 楼主是因为图片没有回收和处理吧
还要回收处理?[/quote] 最好的是进行回收处理,因为你也不知道这个对象是不是有其它地方跟它相连,java垃圾回收也是成树状搜索的,确定一个对象没有被其它引用才会回收,而且最好的是把图片处理下,让图片尽量的暂居很小的内存
坏脾气的猪 2014-03-14
  • 打赏
  • 举报
回复
引用 10 楼 mujunfengplay 的回复:
楼主是因为图片没有回收和处理吧
还要回收处理?

80,362

社区成员

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

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