我目前正在使用设备壁纸作为我的布局背景。在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);
}
答案 0 :(得分:0)
您可以使用((MainActivity)getActivity()).foo()
,但应将BitmapFactory.Options
转换为BitmapDrawable
byte[]