缩小壁纸位图可绘制以减少RAM使用量

时间:2016-01-16 08:02:36

标签: android bitmap android-bitmap android-wallpaper

我目前正在使用设备壁纸作为我的布局背景。在Samsung S3中,某些设备上的位图可绘制大小非常大,约为7 MB。有没有办法减少这个,而不消耗更多的RAM。我担心低内存设备上的OOM。

WallpaperManager wallpaperManager = WallpaperManager.getInstance(mContext);
BitmapDrawable bitmapDrawable = (BitmapDrawable) wallpaperManager.getDrawable();
bitmapDrawable.setGravity(Gravity.CENTER_VERTICAL | Gravity.CLIP_VERTICAL);

if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) {
                layout.setBackgroundDrawable(bitmapDrawable);
} else {
                layout.setBackground(bitmapDrawable);
}

1 个答案:

答案 0 :(得分:0)

您可以使用((MainActivity)getActivity()).foo(),但应将BitmapFactory.Options转换为BitmapDrawable

byte[]