扫码关注官方订阅号
项目一个页面背景是一张很大的图片,在反复退出、进入4、5次后会引起OOM。请问这种情况如何处理呢?
走同样的路,发现不同的人生
1.BitmapFactory解码时使用insample 参数缩小原图,可以缩小到屏幕大小2.退出时主动释放bitmap
1.主动回收,2.依据实际大小显示,比如是20000X20000的,但是只用显示手机背景那么大,就要压缩长宽。
你的意思是,反复启动这个 Activity ?
如果是这样,建议把 Activity 的启动模式设置设为:single Task。 在 Manifest 中设置:android:launchMode="singleTask"
如果是图片太大,建议压缩,可以使用 Bitmap 的质量压缩法,
或者先手动压缩也可以。
楼主是在xml里配置的图片?建议去除相关配置,在代码里添加
Drawable mDrawable = getResources().getDrawable(R.drawable.id); ImageView mImageView = new ImageView(this); imageView.setBackgroundDrawable(mDrawable); 在OnDestory(){ mDrawable.setCallback(null); }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
1.BitmapFactory解码时使用insample 参数缩小原图,可以缩小到屏幕大小
2.退出时主动释放bitmap
1.主动回收,2.依据实际大小显示,比如是20000X20000的,但是只用显示手机背景那么大,就要压缩长宽。
你的意思是,反复启动这个 Activity ?
如果是图片太大,建议压缩,可以使用 Bitmap 的质量压缩法,
楼主是在xml里配置的图片?建议去除相关配置,在代码里添加