社区
Android
帖子详情
android 内存不足引起程序崩溃
fengshj
2011-08-09 02:59:04
我的activity中调用了一张大图,在启动新的activity之后再返回原activity的时候,有时候会出现内存不足的异常,请教各位有没有好的处理办法?
...全文
729
11
打赏
收藏
android 内存不足引起程序崩溃
我的activity中调用了一张大图,在启动新的activity之后再返回原activity的时候,有时候会出现内存不足的异常,请教各位有没有好的处理办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
htynkn
2011-08-30
打赏
举报
回复
大图一般都有问题...ls的意见很方便
BadPattern
2011-08-29
打赏
举报
回复
不能直接加载大图片,需要根据其原始尺寸计算出需要在屏幕上显示出的压缩比例,然后进行压缩显示
fengshj
2011-08-29
打赏
举报
回复
已经修改方法了,多谢各位了!
DrSmart
2011-08-14
打赏
举报
回复
啊,这种问题,可以看下
预防Android内存泄露
,你是真机还是模拟器,RAM多大的啊
wenzheng38
2011-08-14
打赏
举报
回复
Drawable drawable = null;
if (sClass.equals("A")){
drawable = getResources().getDrawable(R.drawable.all_jl);
img.setImageDrawable(drawable);
}else if (sClass.equals("B")){
drawable = getResources().getDrawable(R.drawable.hand_xj);
img.setImageDrawable(drawable);
}
drawable = null;
试试看。。。
harry330
2011-08-14
打赏
举报
回复
大图片,显示时最好缩放。
redoffice
2011-08-14
打赏
举报
回复
内存不足这是 Android 加载大量图片的一个缺陷。
一共加载多少就崩溃,这个临界值我还没有测试出来,但是如果你使用new bitmap的话,兆级别,甚至更小的图片就会导致崩溃。
解决办法:1.放入数据库,放数据库的时候好像不能超过百K的数量级。
2.裁剪缩小图片大小。
关于其他的方法,网上有帖子说明解决实例的。把你LOG里的错误贴上去,搜搜。
tiantangxingkong
2011-08-12
打赏
举报
回复
看来是内存泄露了
fengshj
2011-08-10
打赏
举报
回复
没有使用位图,使用的是原始的png图片,两张图片重叠在一起显示。图片的尺寸是2048*1533,开始是可以调用和替换的,替换多次后就会报内存不足的错误。源码程序比较复杂,主要部分如下:
ImageView img = (ImageView) findViewById(R.id.img_front);
try{
img.setVisibility(View.GONE);
img.setImageDrawable(getResources().getDrawable(R.drawable.blank));
if (sClass.equals("A")){
img.setImageDrawable(getResources().getDrawable(R.drawable.all_jl));
}else if (sClass.equals("B")){
img.setImageDrawable(getResources().getDrawable(R.drawable.hand_xj));
}
img.setVisibility(View.VISIBLE);
}
catch (OutOfMemoryError e) {
Log.w("Memory", "Touch:createBitmapByScale OutOfMemoryError.", e);
Toast.makeText(Touch.this, "显示内存不足,建议退出程序并重新选择!",Toast.LENGTH_SHORT).show();
//TODO: out of memory deal..
}
没有Try之前就会崩溃,Try之后从这里就会捕获异常。
fontlose
2011-08-09
打赏
举报
回复
位图不用时调用下recycle()
中才德创
2011-08-09
打赏
举报
回复
调用了一张大图,是多大?
代码大概如何实现的。
一张图与内存不足,没有直接关联吧。
LeakCanary:
Android
的内存泄漏检测库-开源
LeakCanary是适用于
Android
的可靠内存泄漏... 它通常是由与对象生命周期相关的错误
引起
的,并且在
Android
应用
程序
中可能经常发生。 LeakCanary帮助在开发过程中查找和修复这些泄漏,因此您再也不必经历另一个OOM
崩溃
。
android
+
程序
崩溃
,
Android
平台
程序
崩溃
的类型及原因列举
Android
平台
程序
崩溃
大家都应该遇到过,force close和ANR应该是大家遇到较多的。这里把
Android
平台
程序
崩溃
的各种类型做一个简述和原因列举。1.ANR(可见ANR):发生场景:应用发生ANR。
崩溃
症状:系统弹出窗口询问...
Android
内存泄漏案例分析
Android
内存泄漏案例分析视频教程,该课程结合一个真实案例,来演示
Android
内存泄露问题,从发现到分析定位,再到最终解决的全过程。一款优秀的
Android
应用,不仅要有完善的功能,也要有良好的体验,而性能是影响...
android
自动清理
内存不足
,重新启动时,
Android
应用
崩溃
导致
内存不足
然后,该应用
程序
将
崩溃
,并显示oom(
内存不足
)错误.如果我单击主页,则不会发生这种情况.为什么会这样呢?我的猜测是GC尚未完成清理,现在我在旧数据仍然存在的情况下启动了它.当然,它不是一个新应用,因此旧版本和新版本...
内存越界一定会导致
程序
崩溃
吗?详解内存越界
本文详细解释了内存越界不一定导致内存越界的问题,全面介绍了C++内存越界的相关内容。
Android
80,351
社区成员
91,288
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章