try
{
Context test_Context = null;
String test_package = packageName;
test_Context = context.createPackageContext(
test_package, Context.CONTEXT_IGNORE_SECURITY);
AssetManager s = test_Context.getAssets();
try{
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPurgeable = true;
opt.inInputShareable = true;
InputStream is = s.open(imageName);
Bitmap bitMap = BitmapFactory.decodeStream(is, null, opt);
Drawable dra = new BitmapDrawable(context.getResources(),bitMap);
is.close();
return dra;
}catch(IOException e){
e.printStackTrace();
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
当isPurgable设为true时,系统中内存不足时,可以回收部分Bitmap占据的内存空间,这时一般不会出现OutOfMemory 错误。