Wallpaper壁纸经常出现OOM

wsdaijianjun 2014-07-17 02:06:00
最后会走到BitmapFactory.decodeFileDescriptor报OOM
复制不了log,过程WallpaperManagerService到ImageWallpaper再到WallpaperMange拿bitmap就OOM了

完全不知道如何下手,求思路
...全文
261 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
summersrest 2014-07-18
  • 打赏
  • 举报
回复
引用 3 楼 wsdaijianjun 的回复:
[quote=引用 1 楼 birdsaction 的回复:] 不用的bitmap释放掉,看看是否图片过大。
图是2400*1920的 ImageWallpaper里有一个Bitmap mBackgroud,mBackgroud都有recycle的。 WallpaperManager里面有两个Bitmap,每次只能置空,无法手动调用recycle[/quote] 手动置空没有用,必须recycle才能回收掉。
箍心而行 2014-07-17
  • 打赏
  • 举报
回复
bitmap很容易 oom = = 用个软引用啊之类的试试
wsdaijianjun 2014-07-17
  • 打赏
  • 举报
回复
图片压缩不了,最小也要1920*1920,感觉和现在没什么区别
哎,真难 2014-07-17
  • 打赏
  • 举报
回复
引用 4 楼 wsdaijianjun 的回复:
[quote=引用 2 楼 heaimnmn 的回复:] 恩,同意楼上,肯能是图片造成的OOM或者重绘VIEW造成的
重绘View会导致内存占用很高的吗?感觉ImageWallpaper里经常重绘壁纸[/quote]重绘view会占用一定内存,造成OOM,这都是OOM的造成原因之一,不过看情况应该是图片太大了吧,,,
Birds2018 2014-07-17
  • 打赏
  • 举报
回复
2400*1920 这个图片不小啊,如果大于你的显示屏幕 应该等比例缩放一下,这样可以省点内存。
wsdaijianjun 2014-07-17
  • 打赏
  • 举报
回复
引用 2 楼 heaimnmn 的回复:
恩,同意楼上,肯能是图片造成的OOM或者重绘VIEW造成的
重绘View会导致内存占用很高的吗?感觉ImageWallpaper里经常重绘壁纸
wsdaijianjun 2014-07-17
  • 打赏
  • 举报
回复
引用 1 楼 birdsaction 的回复:
不用的bitmap释放掉,看看是否图片过大。
图是2400*1920的 ImageWallpaper里有一个Bitmap mBackgroud,mBackgroud都有recycle的。 WallpaperManager里面有两个Bitmap,每次只能置空,无法手动调用recycle
哎,真难 2014-07-17
  • 打赏
  • 举报
回复
恩,同意楼上,肯能是图片造成的OOM或者重绘VIEW造成的
Birds2018 2014-07-17
  • 打赏
  • 举报
回复
不用的bitmap释放掉,看看是否图片过大。

80,351

社区成员

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

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