【发布时间】:2015-01-18 12:40:04
【问题描述】:
我知道可以使用以下块引用或类似方法来使用其他应用的位图:
String packageName = "com.some.package";
资源 res = getPackageManager().getResourcesForApplication(packageName);
int resId = res.getIdentifier("some_bitmap_icon", "drawable", packageName);
((BitmapDrawable) res.getDrawable(resId)).getBitmap();
是否有将res 和resId 传递给Android-Universal-Image-Loader 以直接从第3 方应用加载位图?
或者我必须将位图复制到 SD 卡,然后通过传递 "file:///mnt/sdcard/some_temp_bitmap" 显示它
【问题讨论】:
-
由于 Universal Image Loader 文档建议您一般不要将其用于资源(“仅在真正需要时才使用 drawable://!始终考虑加载 drawable 的本机方式”),为什么不直接使用问题中的代码?
-
目前,我正在使用我发布的代码获取大量位图(来自图标包),这已开始导致 OutOfMemoryError。所以我求助于 UIL 的背景图像加载和缓存,希望它可以用于从 3rd 方资源加载.. 但我认为情况并非如此?
-
我不知道 UIL 是否有外国进程可绘制支持。查看the code,它似乎没有提供这个,至少不是
drawable://语法的一部分。是否可以创建和注册BaseImageDownloader的子类,我不能说。 -
感谢您为我指明了正确的方向。我根据您的建议在下面发布了我的解决方案。
标签: android bitmap universal-image-loader