本文共 831 字,大约阅读时间需要 2 分钟。
在应用中加载背景图片时遇到问题,特别是在某些设备上无法显示图片,需要仔细检查代码和资源文件。以下是针对此问题的详细分析和解决方案:
布局文件中的相对布局设置如下:
代码中通过onResume方法加载背景图片:
@Overrideprotected void onResume() { super.onResume(); RelativeLayout layout = (RelativeLayout) findViewById(R.id.main_background); InputStream is; BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inPreferredConfig = Bitmap.Config.ARGB_8888; opt.inPurgeable = true; opt.inInputShareable = true; opt.inSampleSize = 2; is = getResources().openRawResource(R.drawable.app_background); Bitmap bm = BitmapFactory.decodeStream(is, null, opt); BitmapDrawable bd = new BitmapDrawable(getResources(), bm); layout.setBackgroundDrawable(bd);} 通过设置inSampleSize为2,可以减少图片内存占用,提高加载速度,但需确保图片质量足够。同时,使用inPurgeable和inInputShareable可有效管理内存资源,防止内存泄漏。最后,确保背景图片资源文件在不同设备上有统一的分辨率和压缩设置,以避免图片显示不一致的问题。
转载地址:http://ltnjz.baihongyu.com/