android中一个界面有大图片且需要反复进入
怪我咯
怪我咯 2017-04-17 16:26:05
[Android讨论组]

项目一个页面背景是一张很大的图片,在反复退出、进入4、5次后会引起OOM。
请问这种情况如何处理呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
PHP中文网

1.BitmapFactory解码时使用insample 参数缩小原图,可以缩小到屏幕大小
2.退出时主动释放bitmap

PHP中文网

1.主动回收,2.依据实际大小显示,比如是20000X20000的,但是只用显示手机背景那么大,就要压缩长宽。

PHP中文网
  1. 你的意思是,反复启动这个 Activity ?

    如果是这样,建议把 Activity 的启动模式设置设为:single Task。
    在 Manifest 中设置:android:launchMode="singleTask"
    
  2. 如果是图片太大,建议压缩,可以使用 Bitmap 的质量压缩法,

    或者先手动压缩也可以。
    
伊谢尔伦

楼主是在xml里配置的图片?建议去除相关配置,在代码里添加

Drawable mDrawable = getResources().getDrawable(R.drawable.id);
ImageView mImageView = new ImageView(this);
imageView.setBackgroundDrawable(mDrawable);
在OnDestory(){
    mDrawable.setCallback(null);
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号