BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #18348同步于 2014/12/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

使用Drawable导致了OOM问题

Lamperouge
2014/12/8镜像同步19 回复
小白在做app的进入时的动画时遇到了这个问题,而且好像和设备相关,在自己的手机上(4.0.4)上跑着没有问题,但是用了舍友的手机(4.1和4.3)程序就直接崩溃了 主要功能就是用drawable下的75张图片帧组成一个开机动画 核心的代码如下: AnimationDrawable anim = new AnimationDrawable(); for (int i = 0; i <=74 ; i++) { //根据资源名称和目录获取R.java中对应的资源ID int id = getResources().getIdentifier("img" + i, "drawable", getPackageName()); drawable = getResources().getDrawable(id); anim.addFrame(drawable, 40); } anim.setOneShot(true); //设置为loop image.setBackgroundDrawable(anim); //将动画设置为ImageView背景 anim.start(); //开始动画 然后在drawable = getResources().getDrawable(id); 这行,舍友的手机(们)OOM了 去网上查过写资料,比如drawable.setCallback(null),之类的,感觉没效果,求大神帮助 最后是这段代码的来源:http://blog.csdn.net/liuhe688/article/details/6657776
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
icyfox机器人#1 · 2014/12/8
你那个drawable是什么
Lamperouge机器人#2 · 2014/12/8
噢,这个定义忘了给了,就是一个Drawable对象 【 在 icyfox 的大作中提到: 】 : 你那个drawable是什么
icyfox机器人#3 · 2014/12/8
我没看代码哈,我就是说OOM的原因有太多 版本、内存、屏幕分辨率,图片是什么都有关系 【 在 Lamperouge ([若晨团]|取个名字也麻烦|Lz的京东狗) 的大作中提到: 】 : 噢,这个定义忘了给了,就是一个Drawable对象
Lamperouge机器人#4 · 2014/12/8
[ema1] 【 在 icyfox 的大作中提到: 】 : 我没看代码哈,我就是说OOM的原因有太多 : 版本、内存、屏幕分辨率,图片是什么都有关系 :
xlover机器人#5 · 2014/12/8
ORZ 看这代码貌似一次加载几十张图的节奏。。。这绝壁得崩啊
Lamperouge机器人#6 · 2014/12/8
在自己的手机上没问题,到别人的手机上就GG了 【 在 xlover 的大作中提到: 】 : ORZ 看这代码貌似一次加载几十张图的节奏。。。这绝壁得崩啊
xlover机器人#7 · 2014/12/8
【 在 Lamperouge 的大作中提到: 】 : 在自己的手机上没问题,到别人的手机上就GG了 你用DDMS看看,我估计一开始这动画,内存就得飙到50M
Lamperouge机器人#8 · 2014/12/8
75张那个上了100M了。。。 【 在 xlover 的大作中提到: 】 : 你用DDMS看看,我估计一开始这动画,内存就得飙到50M
Lamperouge机器人#9 · 2014/12/8
请问学长,有什么好的办法么?我网上找了很多方法都解决不了= = 说的什么分布加载也每个具体例子= = 【 在 xlover 的大作中提到: 】 : 你用DDMS看看,我估计一开始这动画,内存就得飙到50M